En primer lugar, debemos estar claro que el cuadro de búsqueda es una solicitud GET basada en la búsqueda de palabras clave, y la solicitud GET se envía a la página actual.
// La ruta de solicitud para el código de muestra es la ruta de la página actual "/Product" <!-Box de búsqueda Get a la solicitud de búsqueda en función de la palabra clave del nombre del producto-> <form de acción = "/producto"> <input type = "text" name = "productName" placeholder = "Nombre del producto" Valor = "$ {param.ProductName}"> <bootin <i> </i> </button> </formy> </formy> </formy>Cuando queremos implementar la función de búsqueda de múltiples condiciones, podemos encapsular las condiciones de búsqueda en una colección de mapas y búsqueda basada en la colección de mapas
Código de capa del controlador:
@Getmapping ("/producto") Lista de cadenas públicas (@RequestParam (requirir = false, defaultValue = "1", name = "P") Integer Pageno, @RequestParam (requerido = false, defaultValue = ") string productName, @requestparam (requerido = false, defaultValue =" ") string string, @Requestparam (requerido = false, nombre, @requestparam (requerido) typeId, @RequestParam (requerido = false, defaultValue = "") BigDecimal MinPrice, @RequestParam (requerido = false, defaultValue = "") bigDecimal maxPrice, modelo modelo) {map <string, object> searchParam = new HashMap <> (); SearchParam.put ("ProductName", ProductName); SearchParam.put ("lugar", lugar); SearchParam.put ("typeId", typeId); SearchParam.put ("MinPrice", MinPrice); SearchParam.put ("MaxPrice", maxPrice); PageInfo <Kaola> PageInfo = kaolaservice.findbypageno (Pageno, SearchParam); model.addattribute ("PageInfo", PageInfo); devolver "producto/lista"; }Código de capa comercial:
public PageInfo <Kaola> findBypageno (Integer Pageno, Map <String, Object> SearchParam) {PageHelper.StartPage (Pageno, 10); Lista <Kaola> Kaolalist = Kaolamapper.FindbySearchParamWithType (SearchParam); devolver nuevo PageInfo <> (Kaolalist);}mappper.xml en mybatis:
<select id = "findBySearchParamWithType" resultType = "com.kaishengit.entity.kaola"> Seleccionar kaola.*, kaola_type.id como 'kaolatype.id', kaola_type.type_name de kaolatype.typename ', parent_id as' kaolatype. de kaola. Únase a kaola_type en kaola.type_id = kaola_type.id <where> <if test = "ProductName! = NULL y ProductName! = '' '"> Kaola.Product_Name Like Concat ('%',#{ProductName},'%') </if> <if test = "Lugar! = Null y lugar! =' '' '' '' ''. #{place} </if> <if test = "typeId! = null and typeId! = ''"> y kaola.type_id = #{typeId} </if> <if test = "minPrice! = null y minprice! = '' '"> <! [cdata [y kaola.price> = #{minprice}]]] ! = null y maxPrice! = '' "> <! [CDATA [y kaola.price <= #{maxPrice}]]> </if> </where> orden por kaola.id descife </select>De esta manera, puede implementar la función de búsqueda de múltiples condiciones desde el front-end hasta el fondo. También encontraremos una situación en la que al ingresar las condiciones de búsqueda, la lista de visualización se actualizará automáticamente. Esto realmente usa contenido relacionado con AJAX. Durante el proceso de entrada, las solicitudes de AJAX se emitirán continuamente y la página se actualizará.
<input type="text" name="productName" placeholder="商品名称" value="${param.productName}"> es obtener el valor de los parámetros de la URL de solicitud y realizar la función de actualizar la página para mostrar palabras clave después de ingresar la búsqueda de palabras clave. La imagen está directamente arriba:
value="${param.productName}"
Al ingresar palabras clave chinas para buscar, puede usar CodeRicomponent para resolver el problema de mostrar el código confuso chino en la ruta de la URL:
// Pagination $ ('#Pagination-Demo'). TwBspagination ({TotalPages: $ {pageInfo.pages}, VisiblePages: 10, First: 'Home', Last: 'Last:' Last Page ', anterior:' Página anterior ', siguiente:' Página siguiente ',, página siguiente,,, siguiente,, página siguiente,,, página siguiente,,, siguiente,, página siguiente, href: "? ProductName ="+EncodeUriComponent ('$ {param.productName}')+"& place ="+encodeUriComponent ('$ {param.place}')+ "& typeId = $ {param.typeid} & minprice = $ {param.minprice} & maxprice = $ {param.maxprice} & p = {{number}}"});Haga clic para ver la imagen más grande
Resultados de la búsqueda
Resumir
Lo anterior es una explicación detallada del código de función de búsqueda de implementación de Java introducido por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!