بادئ ذي بدء ، نحتاج إلى أن نكون واضحين أن مربع البحث هو طلب الحصول على طلب من الكلمات الرئيسية ، ويتم إرسال طلب GET إلى الصفحة الحالية.
.
عندما نريد تنفيذ وظيفة البحث متعددة الشرائح ، يمكننا تغليف ظروف البحث في مجموعة خريطة وبحث بناءً على مجموعة الخريطة
رمز طبقة وحدة التحكم:
getMapping ("/product") قائمة السلسلة العامة (requestparam (مطلوب = false ، defaultValue = "1" ، name = "p") integer pageno ، @requestparam (مطلوب = false ، defaultValue = "" ") "") integer typeid ، requestparam (مطلوب = خطأ ، defaultValue = "") minprice bigDecimal ، requestparam (مطلوب = false ، defaultValue = "" ") BigDecimal maxprice ، نموذج النموذج) {map <string ، كائن> searchparam = new hashmap <> () ؛ SearchParam.put ("ProductName" ، ProductName) ؛ SearchParam.put ("مكان" ، مكان) ؛ 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) ؛ إرجاع pageinfo <> (kaolalist) ؛}mapPPer.xml في mybatis:
<SELECT ID = "FindBySearchParamWithType" productype = "com.kaishengit.entity.kaola"> حدد kaola. Kaola Inner انضم إلى kaola_type على kaola.type_id = kaola_type.id <where> <if test = "productname! = null و productname! = ''" kaola.place = #{place} </if> <if test = "typeid! = null and typeid! = ''"> و kaola.type_id = #{typeid} </if> <test = "minprice! = null و minprice! = ''"> <! test = "maxprice! = null و maxprice! = ''"> <! [cdata [و kaola.price <= #{maxprice}]وبهذه الطريقة ، يمكنك تنفيذ وظيفة البحث متعددة الشرط من الواجهة الأمامية إلى الواجهة الخلفية. سنواجه أيضًا موقفًا عند دخوله ظروف البحث ، سيتم تحديث قائمة العرض تلقائيًا. هذا يستخدم في الواقع المحتوى المرتبط AJAX. أثناء عملية الإدخال ، سيتم إصدار طلبات AJAX بشكل مستمر وسيتم تحديث الصفحة.
<input type="text" name="productName" placeholder="商品名称" value="${param.productName}"> هو الحصول على القيمة من معلمات عنوان URL للطلب ، وإدراك وظيفة تحديث الصفحة لعرض الكلمات الرئيسية بعد إدخال البحث عن الكلمات الرئيسية. الصورة أعلاه مباشرة:
value="${param.productName}"
عند إدخال الكلمات الرئيسية الصينية للبحث ، يمكنك استخدام المكون EncodeUricond لحل مشكلة عرض التعليمات البرمجية المشوهة الصينية في مسار عنوان URL:
// pagination $ ('#pagination-demo'). twbspagination ({totalpages: $ {pageinfo.pages} ، posiblepages: 10 ، أولاً: "الصفحة الرئيسية" ، الأخير: "آخر:" الصفحة الأخيرة "، السابق:" الصفحة السابقة "، التالي:" الصفحة التالية "، HREF: "؟؟ productName ="+EncodeUricomponent ('$ {param.productName}')+"& place ="+encodeUricomponent ('$ {param.place}')+ "& typeid = $ {param.typeid} & minprice = $ {param.minprice} & maxprice = $ {param.maxprice} & p = {{number}}"}) ؛انقر لعرض الصورة الأكبر
نتائج البحث
لخص
ما سبق هو شرح مفصل لرمز وظيفة البحث عن تطبيق Java الذي أدخله المحرر. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!