Na Seção 8, concluímos as funções de consulta e exclusão de categorias de produtos, por isso é fácil implementar as funções de consulta e exclusão de produtos. O princípio é exatamente o mesmo da seção 8, basta modificar alguns parâmetros, como solicitar ações diferentes etc. Como a consulta e a exclusão de produtos não requer uma nova janela da interface do usuário para aparecer, apenas precisamos concluir a parte correspondente no query.jsp e o fundo correspondente.
1. Implementação da função de consulta do produto
A função de consulta é implementada principalmente na caixa de consulta. A partir da seção anterior, podemos ver que a caixa de consulta usa um texto: "<entrada id = 'ss' name = 'ss' />". Nós o implementamos convertendo a caixa de texto comum em uma caixa de texto de pesquisa de consulta. Abaixo, adicionamos a parte correspondente do código em query.jsp:
$ ('#SS'). Searchbox ({// Trigger Query Event Searcher: function (valor, nome) {// Valor representa o valor de entrada // Adicionar código de acionamento $ ('#dg').Os resultados dos testes são os seguintes:
A consulta é muito simples, assim como o carregamento de todos os produtos na seção anterior, exceto que, ao consultar, os parâmetros são definidos para o valor inserido pelo usuário e, ao carregar todos os parâmetros, está definido para esvaziar.
2. Implementação da função de exclusão do produto
Em seguida, concluiremos a função de excluir produtos. Primeiro, concluiremos o código correspondente em query.jsp:
{iconCls: 'icon-remove', text: 'Excluir produto', manipulador: function () {// Adicione código de gatilho var lobs = $ ("#dg"). DataGrid ("getSelections"); // Defenda se existe um registro de linha selecionado, use getSelections para obter todas as linhas selecionadas // retorna a linha selecionada. If no rows are selected, return an empty array if(rows.length == 0) { //Pop up the prompt message $.messager.show({ //The syntax is similar to the static method in java. Direct object calls title:'Error prompt', msg:'at least one record must be selected', timeout:2000, showType:'slide', }); } else {// solicita se deve confirmar a exclusão. Se confirmado, a lógica da exclusão é executada $ .messager.confirm ('Excluir Confirmar diálogo', 'tem certeza de que deseja excluir este item?', Function (r) {if (r) {// 1. Obtenha o ids i; {ids + = linhas [i] .id + ","; $ ("#dg"). Datagrid ("UNSELHANTE"); MSG: 'Excluir falhou, verifique a operação', Timeout: 2000, Showtype: 'Slide',}); }}}}}}} Como pode ser visto no código acima, a operação de exclusão requer pelo menos um registro a ser selecionado primeiro. Depois de selecionar, ao confirmar a exclusão (ou seja, r é verdadeira), primeiro obtenha quais registros foram verificados pelo usuário, unidos os números de ID desses registros e, em seguida, desejam enviar a solicitação AJAX em segundo plano, solicitar o método DeleteByIds no ProductAction e assumir o ID emplicado como um parâmetro. Se a exclusão for bem-sucedida, retorne uma string "true" ao primeiro plano e o primeiro plano limpará o registro recém-verificado para evitar afetar a operação de atualização subsequente, porque a atualização também precisa verificar o registro e atualizar a página atual e recarregar todas as informações do produto no banco de dados.
O processo é muito claro. Vamos escrever o programa de fundo, começando com a camada de serviço:
Public Interface Products Service estende BaseService <Product> {// Consulta Informações do produto, categorias em cascata Lista pública <Product> QueryJoincateGory (Tipo de String, Int Page, Int Size); // consulta usando o nome do produto // consulta o número total de registros com base nas palavras -chave public Long GetCount (tipo de string); // Exclua vários registros com base no IDS public void DeletebyIds (IDs da String); } @Suppresswarnings ("desmarcado") @service ("ProductService") classe pública ProductServiceImpl estende BaseServiceImpl <Productle> implementa o ProductService {// omitir outros códigos ... @Override public void DeLeteByIds (String Ids) {String HQL = "DeLete de Product P When P. getSession (). CreateEquery (HQL) .ExecuteUpdate (); }} Em seguida, preencha o método DeletebyIds em Production:
@Controller ("Production") @Scope ("prototype") classe pública ProductAction estende Baseaction <Product> {// omitis outros códigos ... public String DeleteByIds () {System.out.println (IDS); ProductService.DeleteByIds (IDS); // Se a exclusão for bem -sucedida, ela será executada para baixo. Passaremos "True" para o primeiro plano na forma de um fluxo inputStream = new BytearRayInputStream ("true" .getBytes ()); retornar "stream"; }}A mesma idéia de antes para excluir aulas de produtos, o seguinte é configurado no struts.xml:
<ação name = "Product_*" Method = "{1}"> <!-omitir outras configurações-> <resultado name = "stream" type = "stream"> <param name = "inputName"> inputStream </amul> </resultado> </action>Dessa forma, a string "True" será passada para a recepção e o Excluir será bem -sucedido após o recebimento das instruções. Confira o efeito:
O teste foi bem -sucedido e, neste momento, as funções de pesquisa e exclusão do produto foram concluídas.
Este artigo do artigo: http://blog.csdn.net/eson_15/article/details/51360804
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.