Tout d'abord, nous devons être clairs que la zone de recherche est une demande de GET en fonction de la recherche de mots clés et que la demande GET est envoyée à la page en cours.
// Le chemin de demande de l'exemple de code est le chemin de page actuel "/ produit" <! - Recherchez la zone de recherche de la demande de recherche en fonction du mot-clé du nom du produit -> <form action = "/ product"> <input type = "text" name = "productName" placeholder = "product name" value = "$ {param.productName}"> </ i> </i> </ bouton>Lorsque nous voulons implémenter la fonction de recherche multi-conditions, nous pouvons encapsuler les conditions de recherche dans une collection de cartes et une recherche basées sur la collection de cartes
Code de calque du contrôleur:
@GetMapping ("/ Product") Public String List (@ReQuestParam (required = false, defaultValue = "1", name = "p") entier Pageno, @RequestParam (obligé = false, defaultValue = "") String ProductName, @RequestParam (required = false, defAftrovalue = "") String Place, @RequestParam (require typeID, @RequestParam (required = false, defaultValue = "") bigdecimal minPrice, @RequestParam (required = false, defaultValue = "") bigdecimal maxprice, modèle modèle) {map <string, object> searchParam = new Hashmap <> (); SearchParam.put ("ProductName", ProductName); SearchParam.put ("place", place); SearchParam.put ("typeID", typeID); SearchParam.put ("minprice", minprice); SearchParam.put ("MaxPrice", MaxPrice); PageInfo <Kaola> PageInfo = Kaolaservice.FindBypageNo (Pageno, SearchParam); Model.AddAttribute ("PageInfo", PageInfo); retourner "produit / liste"; }Code de couche commerciale:
Public PageInfo <Kaola> FindByPageNo (entier Pageno, Map <String, Object> SearchParam) {PageHelper.StartPage (Pageno, 10); List <Kaola> kaolalist = kaolaMapper.FindBysearchParamWithType (SearchParam); Renvoie un nouveau pageinfo <> (kaolaliste);}mappper.xml dans mybatis:
<select id = "findBysearchParamWithType" resultType = "com.kaisengit.entity.kaola"> sélectionner kaola. *, kaola_type.id en tant que 'kaolatype.id', kaola_type.type_name comme 'kaolatype.typename', parent_id comme 'KaolaType.parentid' Rejoindre kaola_type sur kaola.type_id = kaola_type.id <où> <if test = "productName! = Null et productName! = ''"> Kaola.product_name comme concat ('%', # {productName}, '%') </ if> <if test = "Place! = Null et place! = # {place} </ if> <if test = "typeId! = null et typeId! = '' '"> et kaola.type_id = # {typeID} </ if> <if test = "minprice! = null et minprice! =' '"> <! [cdata [et kaola.price> = # {minPrice}]]> ! = null et maxprice! = '' "> <! [cdata [et kaola.price <= # {maxprice}]]> </ if> </ Where> Order par kaola.id desc </lect>De cette façon, vous pouvez implémenter la fonction de recherche multi-conditions de l'avant à l'arrière-end. Nous rencontrerons également une situation où lors de la saisie des conditions de recherche, la liste d'affichage sera automatiquement actualisée. Cela utilise en fait un contenu lié à l'Ajax. Pendant le processus d'entrée, les demandes AJAX seront émises en continu et la page sera actualisée.
<input type="text" name="productName" placeholder="商品名称" value="${param.productName}"> est d'obtenir la valeur des paramètres de l'URL de demande et de réaliser la fonction de rafraîchir la page pour afficher les mots clés après la recherche de mots clés. L'image est directement au-dessus:
value="${param.productName}"
Lorsque vous saisissez des mots clés chinois pour la recherche, vous pouvez utiliser EncodeuriComponent pour résoudre le problème de l'affichage du code brouillé chinois dans le chemin d'URL:
// pagination $ ('# pagination-démo'). Twbspagination ({totalPages: $ {pageinfo.pages}, visiblepages: 10, premier: 'home', dernier: 'Last:' Last Page ',' Précédent: 'page précédente', Suivant: 'Page suivante', href: "? ProductName =" + EncodeuRIComponent ('$ {param.productName}') + "& place =" + EncodeuRIComponent ('$ {param.place}') + "& typeId = $ {param.typeid} & minprice = $ {param.minprice} & maxprice = $ {param.maxprice} & p = {{nombre}}"});Cliquez pour afficher l'image plus grande
Résultats de la recherche
Résumer
Ce qui précède est une explication détaillée du code de fonction de recherche d'implémentation Java introduit par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!