SSM-查询数据库获取下拉框的值并作为查询的筛选条件
生活随笔
收集整理的這篇文章主要介紹了
SSM-查询数据库获取下拉框的值并作为查询的筛选条件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.action
//新建存取參數的map對象 Map<String, Object> param = new HashMap<String,Object>(); //先清除一下,防止有其他遺留參數 param.clear(); //status為數據表中的狀態字段,為0表示沒有被操作過 param.put("status", "0"); //現在要查詢碼表表將在select中要顯示的數據取出來,codeType是碼表的字段,orderSource是碼表對應字段的值 param.put("codeType", "orderSource"); //SysCode是碼表對應的Model,通過Mybatis代碼生成器生成的方法getByParam將select的所有值查出來 List<SysCode> orderStatusList = codeService.getByParam(param); //modelAndView mv = new ModelAndView(); //添加Object--頁面正常要顯示的數據 mv.addObject(ModelAndViewConstants.PAGE_RESULT, pageResult); //添加Object--下拉框查詢? select 要顯示的數據 mv.addObject("orderStatusList", orderStatusList); //添加view,跳到jsp頁面,路徑是在常量類中存放 mv.setViewName(ModelAndViewConstants.BUS_TRANSACTION_REPORT_MAIN);2.jsp頁面
注:
items="${orderStatusList} 是action傳過來要在select顯示的值
在循環里,如果碼表中的數字與要查詢的modedl的字段相等
那么這個option的value就為碼表中的數字那個字段
要顯示的就是對應的漢字的字段
<label>訂單來源:<select data-toggle="selectpicker" name="orderSource"><option value="">全部</option><c:forEach items="${orderStatusList}" var="orderStatus"><c:choose>< BR>?????<c:when???test="${orderStatus.codeValue==pageResult.ext.orderSource}"><option value="${orderStatus.codeValue}" selected >${orderStatus.codeName }</option></c:when><c:otherwise><option value="${orderStatus.codeValue}" >${orderStatus.codeName }</option></c:otherwise></c:choose>????</c:forEach></select> </label>?其中select的name屬性在表單提交后作為獲取值的標識,值就是被選中的option的value屬性。
點擊表單提交到action
3.提交到action
?public ModelAndView tolist(String orderSource){
在ModelAndView中通過參數綁定獲取到orderSource所對應的值。
進行判空并存放查詢數據的參數:
if(orderSource!=null&&!"".equals(orderSource)){//將獲取的數據存放起來,作為查詢的參數pageResult.getParam().put("orderSource", orderSource);pageResult.getExt().put("orderSource", orderSource);}然后執行查詢:依次經過service? serviceImpl? dao 層來到mapper:
??
?<if test="orderSource != null"> AND sc.CodeValue = #{orderSource}</if>?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的SSM-查询数据库获取下拉框的值并作为查询的筛选条件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue之v-on绑定监听事件
- 下一篇: SpringMVC框架结构以及架构流程