1. 程式人生 > >springMVC搜尋時候的下拉選和修改時候的下拉選比較

springMVC搜尋時候的下拉選和修改時候的下拉選比較


寫法一:用於搜尋(下拉選的資料寫固定值)
<sf:select path="status" value="" class="form-control">
    <sf:option value="">請選擇</sf:option>
    <sf:option value="0">已通過</sf:option>
    <sf:option value="1">待稽核</sf:option>
    <sf:option value="2">已駁回</sf:option>
</sf:select>
controller中檢索條件的獲得:
// 檢索條件:狀態
param.put("reject", b008009Bean.getStatus());
                                        

寫法二:用於搜尋(下拉選的資料動態獲取)
jsp頁面寫法:b015001.jsp                                        
<sf:select path="status_id" value="" class="form-control">
    <option value="">請選擇</option>
    <sf:options items="${b015001Bean.statusListOptions}" itemValue="id"    itemLabel="status_name" />
</sf:select>

總bean寫法:
public class B015001Bean extends ListPageBean {
    /** 提現狀態集合 */
    private List<B015001StatusBean> statusListOptions;
}

下拉選狀態bean寫法:
public class B015001StatusBean {
    /**狀態id */
    private Integer id;
    /** 狀態名字 */
    @Length(max = 20)
    private String status_name;
}
    
controller寫法:
        // 查詢提現狀態的下拉選
        List<B015001StatusBean> wdListOptions = b015001Service.statusList();
        // bean中的屬性 statusListOptions
        b015001Bean.setStatusListOptions(wdListOptions);
        
        model.addAttribute("b015001Bean", b015001Bean);
        
        return "/b015/b015001";
        
serviceImpl 寫法:
    /**
     * 獲取提現狀態下拉選,寫的固定值
     * @return
     */
    public List<B015001StatusBean> statusList() {
        // 建立存放提現狀態Bean的List
        List<B015001StatusBean> resultlist = new ArrayList<B015001StatusBean>();
        for (int i = 0; i < 3; i++) {
            B015001StatusBean wdStatus = new B015001StatusBean();
            if(i==0){
                wdStatus.setId(0);
                wdStatus.setStatus_name("申請中");
            }else if(i==1){
                wdStatus.setId(1);
                wdStatus.setStatus_name("已通過");
            }else if(i==2){
                wdStatus.setId(2);
                wdStatus.setStatus_name("已駁回");
            }
            resultlist.add(wdStatus);
        }
        // 返回查詢的結果集合
        return resultlist;
        
    }

寫法三:用於修改,進入頁面後,下拉選狀態的保持
--     ${b015002Bean.status_id}的值與 itemValue="id" 相等option處於選中狀態
-- 總bean中的資料的 status_id=1,下拉選集合中的id=1,status_name=‘已通過’,此時進入頁面下拉選就會保持在‘已通過option上’
<div class="col-sm-3">
    <sf:select  path="status_id" value="${b015002Bean.status_id}" class="form-control">
        <option value="">請選擇</option>
        <sf:options items="${b015002Bean.statusListOptions}" itemValue="id"    itemLabel="status_name" />
    </sf:select>
    <sf:errors path="status_id" cssStyle="color:red" />
</div>