在Struts2中,使用繫結select進行頁面查詢
阿新 • • 發佈:2019-01-09
使用繫結資料的select框作為查詢條件進行列表查詢參考小例子
1 自定義下拉框Vo物件
publicclass GameNameSelectVO { private String id; //遊戲名稱ID private String gameName; //遊戲名稱 public String getId() { return id; } public voidsetId(String id) { this.id = id; } public String getGameName() { return gameName; } public voidsetGameName(String gameName) { this.gameName = gameName; } }
2 Action 作為查詢控制器
privateList<GameNameSelectVO> gameNameList; //頁面遊戲名稱下拉物件集合
private String gameNameID; //遊戲名稱
需要提供get set方法
方法
/** * 進入遊戲引數查詢頁面 * @return */ @SuppressWarnings("unchecked") public String toParameterPage(){ //獲得省份資訊 fundvo = gameInfoMonitorService.getProvinceInfo(String.valueOf(pid)); if(null == gameNameID){ gameNameID = "0";//初始查詢全部 } //獲得遊戲名稱下拉資料集合 gameNameList = gameInfoMonitorService.getGameNameSelectList(); //得到每頁記錄數 PropertyUtil p = new PropertyUtil(); int pageSize = Integer.parseInt(p.getProperty("/system.properties", "account.alarm.pageSize")); // 獲得查詢記錄總數 int count = gameInfoMonitorService.getParameterListCount(); // 根據總記錄數、每頁記錄數、當前頁碼生成分頁物件 page = new Page<GameInfoPageVO>(count, pageSize, getCurrentPage()); gameInfoVOList = gameInfoMonitorService.getParameterList(gameNameID,page.getCurrentPage(),page.getPageSize()); return "parameterPage"; }
3 Impl 實現類
/** * 獲得遊戲名稱下拉集合 */ public List<GameNameSelectVO>getGameNameSelectList() { StringBuffer hql = new StringBuffer(); hql.append(" select rd.id,rd.game_name fromT_RCVD_GAME_DEFINITION rd " ); List<GameNameSelectVO> volist = new ArrayList<GameNameSelectVO>(); try{ List list = hibernateDao.queryBySql(hql.toString()); for(Iterator it =list.iterator();it.hasNext();){ Object [] objs = (Object[])it.next(); GameNameSelectVO vo = new GameNameSelectVO(); vo.setId(objs[0].toString()); vo.setGameName(objs[1].toString()); volist.add(vo); } }catch(Exception e){e.printStackTrace();} return volist; }
4 JSP頁面
<div class="searchtime">
遊戲名稱:<select name="gameNameID" id="" style="width: 10%;" >
<option value="0">--全部--</option>
<s:iterator value="gameNameList" var="gameNameVo">
<option value="<s:property value="id"/>" <c:if test="${gameNameVo.id eq gameNameID }" >selected</c:if> > <s:property value="gameName"/></option>
</s:iterator>
</select>
<input type="submit" value="查詢" class="button"/>
</div>