Pertama -tama, kita harus jelas bahwa kotak pencarian adalah permintaan GET berdasarkan pencarian kata kunci, dan permintaan GET dikirim ke halaman saat ini.
// Jalur permintaan untuk kode sampel adalah jalur halaman saat ini "/produk" <!-Kotak pencarian mendapatkan permintaan untuk mencari berdasarkan kata kunci nama produk-> <form Action = "/Product"> <input type = "text" name = "ProductName" placeholder = "nama produk" value = "$ {param.productname}"> </i> </i> </i> </i>/ikat/{param.par.productname} "> </i> </i> </i> </i> </i> </i> </i> </i> </{param.parpoductnameKetika kami ingin mengimplementasikan fungsi pencarian multi-kondisi, kami dapat merangkum kondisi pencarian ke dalam koleksi peta dan pencarian berdasarkan koleksi peta
Kode Lapisan Pengontrol:
@GetMapping("/product") public String list(@RequestParam(required = false,defaultValue = "1",name = "p")Integer pageNo, @RequestParam(required = false,defaultValue = "")String productName, @RequestParam(required = false,defaultValue = "")String place, @RequestParam(required = false,defaultValue = "") Integer typeid, @RequestParam (wajib = false, defaultValue = "") BigDecimal minprice, @RequestParam (wajib = false, defaultValue = "") BigDecimal maxPrice, model model) {peta <string, objek> 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); mengembalikan "produk/daftar"; }Kode Lapisan Bisnis:
pageInfo publik <kaola> findBypageno (integer pageno, peta <string, objek> pencarianParam) {pageHelper.startpage (pageno, 10); Daftar <Kaola> kaolalist = kaolamapper.findbysearchparamwithType (SearchParam); Return New PageInfo <> (Kaolalist);}mappper.xml di mybatis:
<pilih id = "findBysearchParamWithType" resultType = "com.kaishengit.entity.kaola"> pilih kaola.*, kaola_type.id sebagai 'kaolatype.id', kaola_type.type_name sebagai 'kaolatype.typeName', parent_id_id 'KaolaD' Kaolatipe. kaola_type di kaola.type_id = kaola_type.id <where> <if test = "productName! = null dan productName! = ''"> kaola.product_name seperti concat ('%',#{null dan null}, '%') </if> <if test = "place = {null {null}, '%') </if> <if> <if test =" #{Place} </if> <if test = "typeId! = null dan typeid! = ''"> dan kaola.type_id = #{typeid} </if> <if test = "minprice! = null dan minprice! = ''"> <] <] <] <] <data [dan Kaola.price = {nulpice = {nol/] <] <! dan maxprice! = '' "> <! [Cdata [dan kaola.price <= #{maxPrice}]]> </if> </where> order oleh kaola.id desc </ pilih>Dengan cara ini, Anda dapat menerapkan fungsi pencarian multi-kondisi dari front-end ke back-end. Kami juga akan menghadapi situasi di mana ketika memasuki kondisi pencarian, daftar tampilan akan secara otomatis disegarkan. Ini sebenarnya menggunakan konten terkait AJAX. Selama proses input, permintaan AJAX akan dikeluarkan terus menerus dan halaman akan disegarkan.
<input type="text" name="productName" placeholder="商品名称" value="${param.productName}"> adalah untuk mendapatkan nilai dari parameter URL permintaan, dan menyadari fungsi menyegarkan halaman untuk menampilkan kata kunci setelah memasukkan kata kunci pencarian. Gambarnya tepat di atas:
value="${param.productName}"
Saat memasukkan kata kunci Cina untuk pencarian, Anda dapat menggunakan komponen encodeuric untuk menyelesaikan masalah menampilkan kode yang dipenuhi Cina di jalur URL:
// pagination $ ('#pagination-demo'). Twbspagination ({TotalPages: $ {pageInfo.pages}, visiblePages: 10, pertama: 'home', terakhir: 'terakhir:' halaman terakhir ', sebelumnya:' halaman sebelumnya ', berikutnya:' halaman berikutnya ', href: "? ProductName ="+encodeuricomponent ('$ {param.productName}')+"& place ="+encodeuricomponent ('$ {param.place}')+ "& typeid = $ {param.TypeId} & minprice = $ {param.minprice} & maxPrice = $ {param.maxprice} & p = {{angka}}"});Klik untuk melihat gambar yang lebih besar
Hasil pencarian
Meringkaskan
Di atas adalah penjelasan terperinci tentang kode fungsi pencarian implementasi Java yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!