En la Sección 8, hemos completado las funciones de consultar y eliminar categorías de productos, por lo que es fácil implementar las funciones de consultar y eliminar productos. El principio es exactamente el mismo que en la Sección 8, solo modifique algunos parámetros, como solicitar diferentes acciones, etc. Dado que la consulta y la eliminación de productos no requieren una nueva ventana de UI para aparecer, solo necesitamos completar la parte correspondiente en Query.jsp y los antecedentes correspondientes.
1. Implementación de la función de consulta de productos
La función de consulta se implementa principalmente en el cuadro de consulta. De la sección anterior, podemos ver que el cuadro de consulta usa un texto: "<input id = 'ss' name = 'ss' />". Lo implementamos convirtiendo el cuadro de texto ordinario en un cuadro de texto de búsqueda de consultas. A continuación agregamos la parte correspondiente del código en Query.jsp:
$ ('##ss'). Searchbox ({// Activador de eventos de consulta de activación: function (valor, nombre) {// value representa el valor de entrada // agrega el código de activación $ ('#dg'). dataGrid ('load', {// reload, especifique el nombre del parámetro como nombre de entrada del usuario Nombre: Valor});}, solicitado: 'Por favor, entra en la palabra clave'});Los resultados de la prueba son los siguientes:
La consulta es muy simple, al igual que cargar todos los productos en la sección anterior, excepto que al consultar, los parámetros se establecen en el valor ingresado por el usuario y al cargar todos los parámetros se configuran en vacío.
2. Implementación de la función de eliminación de productos
A continuación, completaremos la función de eliminar productos. Primero, completaremos el código correspondiente en Query.jsp:
{iconcls: 'icon-remove', text: 'eliminar el producto', handler: function () {// agregue el código de activación var fila = $ ("#dg"). dataGrid ("getSelections"); // Defender si hay un registro de fila seleccionado, use GetSelections para obtener todas las filas seleccionadas // Devuelve la fila seleccionada. Si no se seleccionan filas, devuelva una matriz vacía if (Rows.Length == 0) {// Perspensar el mensaje de inmediato $ .messager.show ({// La sintaxis es similar al método estático en java. Título de llamadas de objetos directos: "Error a prueba", msg: 'al menos un registro debe seleccionarse', tiempo temporal: 2000, showType: 'Slide',}); } else {// solicita si confirma la eliminación. Si se confirma, la lógica de deleción se ejecuta $ .messager.confirm ('Eliminar el diálogo Confirmar', '¿Está seguro de que desea eliminar este elemento?', Function (r) {if (r) {// 1. Obtenga la identificación correspondiente del registro obtenido, emplome el valor de la identificación y luego envíe el fondo 1,2,3,4 var ids = "; para (var i = 0; ii <rows; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i; i. ++) {IDS += Rows [i] .id +","; Actualizar $ ("#DG"). DataGrid ("Uncheckall"); Msg: 'Eliminar fallado, verifique la operación', Tiempo de espera: 2000, ShowType: 'Slide',}); }}}}}}} Como se puede ver en el código anterior, la operación de eliminación requiere que se seleccione primero al menos un registro. Después de seleccionar, al confirmar la eliminación (es decir, r es verdadero), primero obtenga qué registros han sido verificados por el usuario, empalmado los números de identificación de estos registros y luego desea enviar una solicitud AJAX en segundo plano, solicitar el método DeleteByIDS en ProductAction y tomar la ID empalmada como un parámetro. Si la eliminación es exitosa, devuelva una cadena "verdadera" al primer plano, y luego el primer plano borrará el registro recién verificado para evitar afectar la operación de actualización posterior, porque la actualización también necesita verificar el registro, luego actualizar la página actual y recargar toda la información del producto en la base de datos.
El proceso es muy claro. Escribamos el programa de fondo, comenzando con la capa de servicio:
Productservice de la interfaz pública extiende BasesService <Product> {// Información del producto de consulta, categorías en cascada Lista pública <Product> Queryjoincategoría (Tipo de cadena, Página int, tamaño int); // Consulta utilizando el nombre del producto // Consulta el número total de registros basados en palabras clave public Long GetCount (tipo de cadena); // Eliminar múltiples registros basados en IDS public void DeleteByIds (IDS de cadena); } @Suppleswarnings ("sin verificar") @Service ("Productservice") Public Class ProductserviceImpl extiende BaseServiceImpl <Product> Implementa Productservice {// omitir otros códigos ... @Override public void EleleteByids (String IDS) {String hql = "Delete de Product P donde P.ID en (" + IDS + ")"; ";"; getSession (). CreateQuery (HQL) .ExCuteUpdate (); }} A continuación, complete el método DeleteByids en ProductAction:
@Controller ("ProductAction") @Scope ("Prototype") ProductAction de clase pública extiende BASEACTION <Product> {// omitir otros códigos ... public String DeleteByIds () {System.out.println (IDS); Productservice.deletebyids (IDS); // Si la eliminación es exitosa, se ejecutará hacia abajo. Pasaremos "verdadero" al primer plano en forma de un flujo inputStream = new ByteArrayInputStream ("verdadero" .getBytes ()); devolver "transmisión"; }}La misma idea que antes para eliminar las clases de productos, lo siguiente está configurado en Struts.xml:
<Action Name = "Product_*" Method = "{1}"> <!-omitir otras configuraciones-> <resultado name = "stream" type = "stream"> <param name = "inputName"> inputStream </param> </sult> </action>De esta manera, la cadena "verdadera" se pasará a la recepción y el eliminación tendrá éxito después de recibir las instrucciones. Mira el efecto:
La prueba fue exitosa, y en este punto, se han completado las funciones de búsqueda y eliminación del producto.
Esta dirección del artículo: http://blog.csdn.net/eson_15/article/details/51360804
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.