1. 程式人生 > >在Struts2中,使用繫結select進行頁面查詢

在Struts2中,使用繫結select進行頁面查詢

  使用繫結資料的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>