まず、検索ボックスがキーワード検索に基づいたGETリクエストであり、GETリクエストが現在のページに送信されることを明確にする必要があります。
//サンプルコードのリクエストパスは現在のページパス "/product" <! - 製品名のキーワードに基づいて検索する現在のページパス "/product" <
マルチコンディション検索機能を実装する場合、マップコレクションに基づいて検索条件をマップコレクションと検索にカプセル化できます
コントローラーレイヤーコード:
@getMapping( "/crodce")public string list(@RequestParam(必須= false、defaultValue = "1"、name = "p")integer pageno、 @requestparam(reby = false、defaultalue = "")string productname、 @requestparam(必須= false、defaultalue = ")string = false = false(" "" "" "" "" ") @RequestParam(必須= false、defaultValue = "")bigdecimal minprice、 @requestparam(必須= false、defaultvalue = "")bigdecimal maxprice、model model){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); 「製品/リスト」を返します。 }ビジネスレイヤーコード:
public PageInfo <Kaola> findBypageno(integer pageno、map <string、object> searchparam){pagehelper.startpage(pageno、10);リスト<Kaola> Kaolalist = Kaolamapper.findbysearchparamwithtype(searchparam); new pageinfo <>(kaolalist);}mybatisのmappper.xml:
<select id = "findbysearchparamwithtype" resultType = "com.kaishengit.entity.kaola"> select kaola。*、kaola_type.id 'as' kaolatype.id '、kaola_type.type.type_name as' kaolatype.type.typename.typename. Kaola Inner Joola.type_id = kaola_type.id <where> <where> <if test = "productname!= null and crowtname kaola.place =#{place} </if> <if> <if test = "typeid!= null and null and null and null and null!= ''"> and kaola.type_id =#{typeId} </if> <if> <"minprice!= null and minprice!= '" "> <!< test = "maxprice!= null and maxprice!= ''"> <![cdata [and kaola.price <=#{maxprice}]]> </if> </where> order by kaola.id desc </select>このようにして、フロントエンドからバックエンドにマルチコンディショナル検索機能を実装できます。また、検索条件を入力すると、ディスプレイリストが自動的に更新される状況にも遭遇します。これにより、実際にAjax関連のコンテンツが使用されます。入力プロセス中、AJAXリクエストは継続的に発行され、ページは更新されます。
<input type="text" name="productName" placeholder="商品名称" value="${param.productName}">は、リクエストURLのパラメーターから値を取得し、キーワード検索を入力した後にキーワードを表示するためにページを更新する機能を実現することです。写真はすぐ上にあります:
value="${param.productName}"
検索のために中国のキーワードを入力するとき、ecodeuricomponentを使用して、URLパスに中国の文字化けコードを表示する問題を解決できます。
// pagination $( '#pagination-demo')。twbspagination({totalpages:$ {pageinfo.pages}、visiblepages:10、first: 'home'、last: 'last page'、prev: 'next:' next page '、 href: "?crowtname ="+encodeuricomponent( '$ {param.productname}')+"&place ="+encodeuricomponent( '$ {param.place}')+ "&typeId = $ {param.typeid}&minprice = $ {param.minprice}&maxprice = $ {param.maxprice}&p = {{number}}"});クリックして大きな画像を表示します
検索結果
要約します
上記は、エディターが紹介したJava実装検索機能コードの詳細な説明です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!