우선, 검색 창은 키워드 검색을 기반으로 GET 요청이며 GET 요청이 현재 페이지로 전송됩니다.
// 샘플 코드의 요청 경로는 현재 페이지 경로 "/product"<!-제품 이름의 키워드를 기반으로 검색 요청 가져옵니다.> <form action = "/uppuble"> <input type = "text"name = "placeHolder ="product name "value ="$ {param.productname} "> <button> </form> </form> </form> </form> </form> </form> </form> </form>멀티 컨디셔닝 검색 기능을 구현하려면 맵 컬렉션을 기반으로 검색 조건을 맵 컬렉션으로 캡슐화하고 검색 할 수 있습니다.
컨트롤러 계층 코드 :
@GetMapping ( "/uppuble") public String List (@RequestParam (필수 = false, defaultValue = "1", name = "p") 정수 pageno, @requestparam (request, defaultValue = "") String productName, @requestparam (resight = false, defaultValue = ") String Place, @RequestParam (requestParam). "") 정수 typeId, @requestparam (필수 = false, defaultValue = "") bigdecimal minprice, @requestparam (requevend = 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.adtattribute ( "pageinfo", pageinfo); "제품/목록"을 반환합니다. }비즈니스 계층 코드 :
public pageinfo <kaola> findbypageno (Integer pageno, map <string, object> searchparam) {pagehelper.startpage (pageno, 10); 목록 <kaola> kaolalist = kaolamapper.findbysearchparamwithtype (searchparam); 새로운 pageinfo <> (kaolalist);} 반환mybatis의 mappper.xml :
<select id = "findbysearchparamwithType"resulttype = "com.kaishEngit.entity.kaola"> select kaola.*, kaola_type.id as 'kaolatype.id', kaola_type.type_name as 'kaolatype.typename' kaola.type_id = kaola.type_id = kaola_type.id <where> <if test = "productName! = null and productName! = ''" "> kaola.product_name like concat ( '%', '%'), '%') <{place! = null and place! = '' # ^ aLO.PLATE! </if> <if test = "typeid! = null 및 typeid! = ''"> 및 kaola.type_id = #{typeid} </if> <if test = "minprice! = null and minprice! = ''"> <! '' "> <!이러한 방식으로 프론트 엔드에서 백엔드까지 다중 조건 검색 기능을 구현할 수 있습니다. 또한 검색 조건을 입력 할 때 디스플레이 목록이 자동으로 새로 고침되는 상황도 만나게됩니다. 이것은 실제로 AJAX 관련 컨텐츠를 사용합니다. 입력 프로세스 중에 AJAX 요청이 지속적으로 발행되고 페이지가 새로 고침됩니다.
<input type="text" name="productName" placeholder="商品名称" value="${param.productName}"> 은 요청 URL의 매개 변수에서 값을 얻고 키워드 검색을 입력 한 후 키워드를 표시하기 위해 페이지를 새로 고침하는 기능을 인식하는 것입니다. 사진은 바로 위에 있습니다.
value="${param.productName}"
검색을 위해 중국어 키워드를 입력 할 때 EncodeUricomponent를 사용하여 URL 경로에서 중국어가 달린 코드를 표시하는 문제를 해결할 수 있습니다.
// Pagination $ ( '#pagination-demo'). twbspagination ({TotalPages : $ {pageinfo.pages}, VisiblePages : 10, First : 'Home', 'last :'last : 'last page', 'previous page', 'Next Page', 'Next Page', href : "? productName ="+encodeUricomponent ( '$ {param.productName}')+"& place ="+encodeUricomponent ( '$ {param.place}')+ "& typeid = $ {param.typeid} & minprice = $ {param.minprice} & maxprice = $ {param.maxprice} & p = {{number}}"});더 큰 이미지를 보려면 클릭하십시오
검색 결과
요약
위는 편집기가 소개 한 Java 구현 검색 기능 코드에 대한 자세한 설명입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!