1 靜態生成
<s:select name="user.sex" list="#{'0':'男','1':'女'}" label="性別" headerKey="" headerValue="請選擇性別"></s:select>
注解:這里從頁面來靜態(也就是在頁面中寫死啦)構造下拉選項,關鍵點是list="#{'0':'男','1':'女'}" 通過它實現的select的兩個option 。headerKey指定缺省的選項“value”,headerValue指定缺省的選項“text”。
2 action傳遞list過來
<s:select label="用戶" name="user" list="userList" listKey="id" listValue="name" />
注解:這里通過一個list類型的對象來動態生成一個下拉列表。list="userList"表示action里有一個list<User>類型的userList屬性。listKey="id"表示當前option的value從userList里的當前User對象的id屬性取值。listValue="name"表示當前option的text從userList里的當前User對象的name屬性取值。
摘自:http://czxddlcs2007.blog.163.com/blog/static/41630879201221993214552/
struts2的select標簽中,常用屬性:
(1)list:創建列表的可迭代數據源, 必設項(list必須有值,如果沒值則必須設置headerKey, headerValue)。如果該列表是一個Map(key, value), 那么Map的主鍵將作為選項(<option>)的"value"屬性, 而該主鍵對應的值作為選項的文本內容.是必須設置的選項,如果是一個List或者是一個Set,那么可以通過listKey和listValue指定。
(2)headerKey:設置列表的題頭主鍵值. 一定不能為空值! "'-1'"或"''"是正確的取值, ""是錯誤的取值。
(3)headerValue:列表的題頭選項值。
(4)listKey:列表數據源中元素對象的屬性, 用於獲取選項的值,對應於select標簽中的value。
(5)listValue:表數據源中元素對象的屬性, 用於獲取選項的文本內容,對應於select標簽中的option。
(6)name:元素的名字。
附表:
名稱 | 必填 | 缺省值 | 類型 | 描述 |
---|---|---|---|---|
emptyOption | false | false | Boolean | 是否在題頭選項后面添加一個空的(--)選項 |
headerKey | false | Object/String | 設置列表的題頭主鍵值. 一定不能為空值! "'-1'"或"''"是正確的取值, ""是錯誤的取值. | |
headerValue | false | Object/String | 列表的題頭選項值 | |
multiple | false | Object/String | 創建一個多選列表. 如果value屬性指定了一個數組(正確的元素類型), 那么將預先選中數組中指定的多個選項. | |
size | false | Integer | 該組件列表框的大小 (顯示元素的個數) | |
list | true | Object/String | 創建列表的可迭代數據源. 如果該列表是一個Map(key, value), 那么Map的主鍵將作為選項(<option>)的"value"屬性, 而該主鍵對應的值作為選項的文本內容. | |
listKey | false | Object/String | 列表數據源中元素對象的屬性, 用於獲取選項的值 | |
listValue | false | Object/String | 列表數據源中元素對象的屬性, 用於獲取選項的文本內容 | |
theme | false | Object/String | 輸出元素時使用的主題(theme)(不使用缺省的) | |
template | false | Object/String | 輸出元素時使用的模板(template)(不使用缺省的) | |
cssClass | false | Object/String | 輸出元素時的class屬性 | |
cssStyle | false | Object/String | 輸出元素時的css樣式定義(譯者注:就是html元素的style屬性) | |
title | false | Object/String | 在輸出元素時設置html屬性title | |
disabled | false | Object/String | 在輸出元素時設置html屬性disabled | |
label | false | Object/String | 用於輸出一個元素對應的label的表達式 | |
labelPosition | false | left | Object/String | 不贊成使用. |
labelposition | false | Object/String | 定義元素標簽的位置(top/left) | |
requiredposition | false | Object/String | 定義required屬性輸出的位置(left|right) | |
name | false | Object/String | 元素的名字 | |
required | false | false | Boolean | 如果設置為true, 在輸出標簽時將顯示出此字段是必須輸入的(譯者注:如果使用默認模板,將會標示為"*") |
tabindex | false | Object/String | 在輸出元素時設置html屬性tabindex | |
value | false | Object/String | 預設input元素的value屬性. | |
onclick | false | Object/String | 在輸出元素時設置html屬性onclick | |
ondblclick | false | Object/String | 在輸出元素時設置html屬性ondblclick | |
onmousedown | false | Object/String | 在輸出元素時設置html屬性onmousedown | |
onmouseup | false | Object/String | 在輸出元素時設置html屬性onmouseup | |
onmouseover | false | Object/String | 在輸出元素時設置html屬性onmouseover | |
onmousemove | false | Object/String | 在輸出元素時設置html屬性onmousemove | |
onmouseout | false | Object/String | 在輸出元素時設置html屬性onmouseout | |
onfocus | false | Object/String | 在輸出元素時設置html屬性onfocus | |
onblur | false | Object/String | 在輸出元素時設置html屬性onblur | |
onkeypress | false | Object/String | 在輸出元素時設置html屬性onkeypress | |
onkeydown | false | Object/String | 在輸出元素時設置html屬性onkeydown | |
onkeyup | false | Object/String | 在輸出元素時設置html屬性onkeyup | |
onselect | false | Object/String | 在輸出元素時設置html屬性onselect | |
onchange | false | Object/String | 在輸出元素時設置html屬性onchange | |
tooltip | false | String | 設置元素的tooltip屬性(譯者注:tooltip為工具欄提示) | |
tooltipConfig | false | String | 設置tooltip屬性的配置 | |
id | false | Object/String | id是定位元素時使用的. 對於UI和表單標簽它會被用作HTML的id屬性 |
原文鏈接:http://www.cnblogs.com/bmbm/archive/2011/12/21/2342253.html