轉自:https://www.cnblogs.com/Sara-shi/archive/2013/03/13/struts2_select.html
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屬性 |