Struts2幾個常用標籤的主要屬性及示例(一)
以前做過一個struts2的專案,總結了用到的幾個struts2常用標籤的用法,以及響應的示例程式碼,每個標籤總結了一下主要屬性,頁面程式碼,後臺程式碼以及生成的html程式碼
1. checkbox
Checkbox tag用來生成html的一個input元素,型別為checkbox。這個標籤常用來表示布林型的變數。
Attributes |
Description |
name |
對應action中的屬性名稱 |
fieldValue |
選中時action變數被賦的值,當action的欄位是布林型的時候可以省略這個屬性 |
value |
只能為true或者false,來決定生成的checkbox是否被選中,儘量不用這個屬性 |
label |
Jsp頁面為checkbox設定的顯示內容 |
Jsp code:
<s:checkbox name="projectClosed" value="true" fieldValue="yes"/>
Page source code:
<input type="checkbox" name="projectClosed" value="yes" checked="checked"
id="testTags_projectClosed"/>
<input type="hidden" name="__checkbox_projectClosed" value="yes" />
Action class:
private String projectClosed; //with getter/setter method
Result:
projectClosed = "yes";
checkbox如果顯示在結果列表的一列,需要用checkbox的標籤結合iterator標籤,這時checkbox的fieldValue屬性用變數賦值。在action裡要宣告一個字串型陣列來取得這個checkbox group的值
2. checkboxlist
checkboxlist標籤用來生成一組checkbox,這個標籤不適合用在result table中。
Attributes |
Description |
name |
對應action中的屬性名稱,屬性的型別即是listKey的值所對應的型別 |
list |
Required,這個屬性的值必須為可迭代型別或者是陣列型別,比如list,set,array。用以顯示所有的選擇項。如果list的值為Map,則map的key對應option的值,map的value對應option的顯示內容 |
listKey |
生成的checkbox 的input元素的value屬性 |
listValue |
生成的checkbox的input元素的顯示內容 |
Jsp code:
<s:checkboxlist list="#session.hobbyList" name="hobbyIds" listKey="hobbyId"
listValue="hobbyName" ></s:checkboxlist>
Page source code:
<input type="checkbox" name="hobbyIds" value="1" id="hobbyIds-1" checked="checked"/>
<label for="hobbyIds-1" class="checkboxLabel">Football</label>
<input type="checkbox" name="hobbyIds" value="2" id="hobbyIds-2"/>
<label for="hobbyIds-2" class="checkboxLabel">Basketball</label>
Prepare action:
如果要顯示的內容是從db中取得,那麼list屬性要在頁面load之前賦值,這就需要有一個單獨的action來取資料並給list屬性賦值,下面是個演示:
public String execute() throws Exception {
List<Hobby> hobbyList = new ArrayList<Hobby>();
Hobby hobby_1 = new Hobby(new Long(1), "Football");
Hobby hobby_2 = new Hobby(new Long(2), "Basketball");
hobbyList.add(hobby_1);
hobbyList.add(hobby_2); //this list load from database
map.put("hobbyList", hobbyList);
return SUCCESS; //return xxx.jsp
}
Action class:
private Long[] hobbyIds; //with getter/setter method
public String execute() throws Exception {
for (Long hobbyId : hobbyIds) {
//TODO:this checkbox is checked, and its value available
}
}
Result:
這樣在action裡面就可以通過Long型的陣列hobbyIds 來反映有哪些checkbox是checked狀態,並做相應的操作。
3. combobox
combobox標籤的用法類似checkboxlist,該標籤生成的render程式碼顯示為一個input元素以及一個select元素
Attributes |
Description |
name |
對應action中的屬性名稱,屬性的型別即是listKey的值所對應的型別,這個屬性的值也即是生成的text field的name的值。 |
list |
Required,這個屬性的值必須為可迭代型別或者是陣列型別,比如list,set,array,用以顯示所有的選擇項。如果list的值為Map,則map的key對應option的值,map的value對應option的顯示內容 |
listKey |
生成的select 的option元素的value屬性,也即是選擇某個option後,text field顯示的內容 |
listValue |
生成的select的option元素的顯示內容 |
headerKey |
設定第一個選項的值 |
headerValue |
設定第一個選項的顯示內容 |
Jsp code:
<s:combobox list="#session.hobbyList" name="comboHobbyId" headerKey="-1" headerValue="--Please Select One--" listKey="hobbyId" listValue="hobbyName"></s:combobox>
Page source code:
<input type="text" name="comboHobbyId" value="" id="testTags_comboHobbyIds"/><br />
<select onChange="autoPopulate_testTags_comboHobbyIds(this);">
<option value="-1">--Please Select One--</option>
<option value="1">Football</option>
<option value="2">Basketball</option>
</select>
Prepare action:
如果要顯示的內容是從db中取得,那麼list屬性要在頁面load之前賦值,這就需要有一個單獨的action來取資料並給list屬性賦值:
public String execute() throws Exception {
List<Hobby> hobbyList = new ArrayList<Hobby>();
Hobby hobby_1 = new Hobby(new Long(1), "Football");
Hobby hobby_2 = new Hobby(new Long(2), "Basketball");
hobbyList.add(hobby_1);
hobbyList.add(hobby_2); //this list load from database
map.put("hobbyList", hobbyList);
return SUCCESS; //return xxx.jsp
}
Action class:
private String comboHobbyId; //with getter/setter method
Result:
假設選中第二個選項,則comboHobbyId的值為‘1’對應的hobbyName為“Football”
相關文章
- HTML 常用的標籤和屬性HTML
- 常用的HTML標籤和屬性HTML
- HTML常用標籤或屬性全稱HTML
- 標籤的 src 屬性
- HTML標籤屬性HTML
- 內嵌標籤frameset框架屬性及用法框架
- Mycat dataHost標籤的九個屬性介紹
- Maven屬性(properties)標籤的使用Maven
- script標籤的crossorigin屬性ROS
- HTML5 標籤、屬性及相容性速查表HTML
- input標籤autocomplete 屬性
- jquery對標籤屬性操作jQuery
- 請教如何在標籤的dostart裡獲取當前頁面的URL地址以及父標籤的標籤型別和某個屬性的屬性值呢?型別
- <checkBox>標籤的value屬性的作用
- HTML 標籤與屬性大小寫HTML
- xss標籤和屬性爆破
- link標籤屬性介紹
- js給html標籤新增屬性JSHTML
- HTML中你不得不知道的標籤及屬性HTML
- Mycat邏輯表table標籤的九個屬性介紹
- struts2 標籤庫
- Vue 標籤中的ref屬性和refsVue
- 標籤的alt屬性簡單介紹
- JSP自定義標籤之三:為標籤新增屬性JS
- [請教] 如何使用nested標籤組裝及顯示一對多的BEAN屬性Bean
- UITableView 常用屬性及方法UIView
- quotes屬性與<q>標籤關係
- HTML meta 標籤總結與屬性HTML
- ECSide標籤屬性說明之IDE
- 如何用jsp:setproperty標籤為自己寫的標籤類賦屬性JS
- a標籤的使用,以及一些全域性屬性和連結型別。型別
- C#裡面標籤的屬性和事件C#事件
- 正值表示式匹配html標籤的屬性值HTML
- 標籤上title與alt屬性的區別
- <img>標籤的alt屬性簡單介紹
- 語義化你的HTML標籤和屬性HTML
- script標籤的defer和async屬性詳解
- struts2標籤總結