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