jsp頁面上的下拉框案例(Struts2)


<s:select></s:select>包含的屬性有:list=""  ;name=""  ;value=""  ;headerKey=""  ;headerValue=""  ;listKey=""  ;listValue="" 。

list 屬性:通常是在action中定義的,必須是一個可以迭代的源,如為一個List, Map, Set等。如果是一個Map,那么map的key就對應於select標簽中的value,map中的value就對應於select標簽中的 option。而如果是一個List或者是一個Set,那么可以通過listKey和listValue指定。注:該屬性是必備屬性;

如果list為空headKey 和headValue不能為空.listKey和listValue:listKey即對應於select標簽中的value, listValue即對應於select標簽中的option;

list : 源數據 (可以在action方法里從數據庫獲取list)
name : 被選數據存放的位置(這里我方在對象obj的屬性值userName中<需在action中定義該對象>)

value : 默認值

有時候打開一個表單,所顯示的下拉框要與某個字段對應,如下;

<s:select  name="oilCanInfor.status" list="statusMap" listKey="key" listValue="value" value = "oilCanInfor.status" theme="simple"></s:select>

在statusMap中key所對應的就是oilCanInfor.status,如果value屬性中寫上這個屬性,那么就能實現 打開表單時下拉框默認顯示的是按某個字段來的效果。

listKey : 下拉選項的name
listValue : 下拉選項的value

 

 

上文提到過,如果list是一個MAP,那么map的key就對應於select標簽中的value,map中的value就對應於select標簽中的 option。如下;

<s:select id="cardfavour" list="cardFavourMap"  headerKey="" headerValue="-全部-"  name="cardPresent.cardfavour"  theme="simple">
          </s:select>

這里可以看到,在<s:select></s:select>中,value和option屬性都沒有寫進去,這是因為當你輸入一個Map時,如果下拉框沒有特殊要求的話,是可以省略的,系統會會默認map的key就對應於select標簽中的value,map中的value就對應於select標簽中的 option,其中headerValue : 默認值value ;headerKey :    默認name

參考博客:http://blog.sina.com.cn/s/blog_7cc04ac801015gxb.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM