1. 程式人生 > >jqGrid組合查詢

jqGrid組合查詢

查詢操作時,最好不要用get方式提交搜尋引數,會出現莫名的亂碼問題,應該使用post方式,並且進行編碼

如下:

[javascript]  view plain  copy
  1. //查詢  
  2.         $("#searchButton").click(function(){  
  3.             var
     searchAnswerValue = encodeURIComponent($("#searchAnswer").val());  
  4.             var searchQuestionValue = encodeURIComponent($("#searchQuestion").val());  
  5.             var
     postJson = {searchQuestion:searchQuestionValue,searchAnswer:searchAnswerValue};  
  6.               
  7.             //傳入查詢條件引數  
  8.             $("#jqgridTable"
    ).jqGrid("setGridParam",{postData:postJson});   
  9.             //每次提出新的查詢都轉到第一頁  
  10.             $("#jqgridTable").jqGrid("setGridParam",{page:1});  
  11.             //提交post並重新整理表格  
  12.             $("#jqgridTable").jqGrid("setGridParam",{url:searchUrl}).trigger("reloadGrid");  
  13.         });  

後臺進行解碼然後執行查詢,如下:

[java]  view plain  copy
  1. @Override  
  2.     public String search() {  
  3.           
  4.         /** 
  5.          * 第一步,獲取查詢引數,並設定到queryPage 
  6.          */  
  7.         QueryPage queryPage = pageActionParameter.getQueryPage();  
  8.           
  9.         //新增查詢條件  
  10.         if(StringUtils.isNotEmpty(searchAnswer)) {  
  11.             try {  
  12.                 searchAnswer = URLDecoder.decode(searchAnswer,"utf-8");  
  13.             } catch (UnsupportedEncodingException e) {  
  14.                 e.printStackTrace();  
  15.             }  
  16.             System.out.println("==========the searchAnswer : " + searchAnswer);  
  17.             queryPage.addLikeSearch("answer", searchAnswer);  
  18.         }  
  19.         if(StringUtils.isNotEmpty(searchQuestion)) {  
  20.             try {  
  21.                 searchQuestion = URLDecoder.decode(searchQuestion,"utf-8");  
  22.             } catch (UnsupportedEncodingException e) {  
  23.                 e.printStackTrace();  
  24.             }  
  25.             System.out.println("==========the searchQuestion : " + searchQuestion);  
  26.             queryPage.addLikeSearch("info", searchQuestion);  
  27.         }  
  28.           
  29.         /** 
  30.          * 第二步,執行查詢,並設定結果 
  31.          */  
  32.         List<ResultLog> resultLogList = resultLogBiz.getResultLogListByPage(queryPage);  
  33.           
  34.         /** 
  35.          * 設定pageResult 
  36.          */  
  37.         pageActionParameter.buildPageResult(resultLogList);  
  38.           
  39.         /** 
  40.          * 第三步,返回 
  41.          */  
  42.         return AJAX_RETURN_TYPE;  
  43.     }