默認情況下, form 標籤將被呈現爲一個表格形式的 HTML 表單. 嵌套在 form 標籤裏的輸入字段
將被呈現爲一個表格行. 每個表格行由兩個字段組成, 一個對應着行標, 一個對應着輸入元素.
提交按鈕將被呈現爲一個橫跨兩列單元格的行
struts2的UI要結合struts2中的標籤使用:<%@ taglib uri="/struts-tags" prefix="s"%>
password 標籤擴展自 textfield 標籤, 多了一個 showPassword 屬性.該屬性是布爾型.
默認值爲 false, 它決定着在表單回顯時是否顯示輸入的密碼. true顯示密碼
<s:textfield name="username" id="username" value="張三" label="用戶名"></s:textfield><br>
<s:password name="password" value="123456" label="密碼" showPassword="true"></s:password><br>
<s:hidden name="id" value="111111"></s:hidden><br>
修改主題:
修改主題:
A、通過 UI 標籤的 theme屬性(只適用於當前的標籤)
<s:textfield name="username" label="用戶名“
theme="simple"></s:textfield>
B、在一個表單裏, 若沒有給出某個 UI 標籤的 theme 屬性, 它將使用這個表單的主題
(適用於整個form標籤)
<s:form action="" method="post" namespace="/ui“ theme="simple">
C、修改 struts.properties 文件中的 struts.ui.theme 屬性. (適用整個環境)
<!-- 設置ui標籤的主題 -->
<constant name="struts.ui.theme" value="simple"></constant>
優先級:A>B>C
simple主題:去掉struts提供的各種樣式eg:label
<label for="username" class="label">用戶名::</label>
submit 標籤<br>
<s:submit type="input" value="提交"></s:submit><br>
<s:submit type="button" value="提交"></s:submit><br>
<s:submit type="image" value="提交" src="button_ok.gif"></s:submit><br>
reset 標籤<br>
<s:reset type="input" value="重置"></s:reset><br>
<s:reset type="button" value="重置"></s:reset><br>
label 標籤<br>
<!-- xxxxxxxx<label id="uiTagAction_ui_"></label> -->
<s:label>xxxxxxxx</s:label><br>
textarea 標籤<br>
<!--
<textarea name="remark" cols="30" rows="5" readonly="readonly" id="uiTagAction_ui_remark">今天发钱</textarea><br>
-->
<s:textarea name="remark" cols="30" rows="5" value="今天發錢" readonly="true"></s:textarea><br>
checkbox 標籤<br>
<s:checkbox name="interest" label="足球" fieldValue="足球"></s:checkbox>足球
<s:checkbox name="interest" label="籃球" fieldValue="籃球"></s:checkbox>籃球
<s:checkbox name="interest" label="皮球" fieldValue="皮球"></s:checkbox>皮球
<br>
<hr>
checkboxlist 標籤<br>切記一定要加name屬性
checkboxlist 標籤被映射到一個字符串數組或是一個基本類型的數組. 若它提供的多選框一個也沒有被選中, 相應的屬性將被賦值爲一個空數組而不是空值.
形式一:list集合<br>
<!--
{'Java','.Net','RoR','PHP'}定義一個集合放置到s:checkboxlist的list屬性中
struts標籤解析的時候,
* 將'java'定義到type="checkbox"的value的屬性中
* 同時也將'java'定義到<label>Java</label>\
* 使用value的屬性讓某個值被選中,中間添加{},如果是多個值用逗號分開
-->
<s:checkboxlist name="subject" list="{'Java','.Net','RoR','PHP'}" value="{'Java','PHP'}" ></s:checkboxlist>
形式二:Map集合<br>
<!--
定義井{1:'瑜珈用品',2:'戶外用品',3:'球類',4:'自行車'}表示一個map集合
listKey="key":將map集合的key的值放置到type="checkbox"中的value的屬性值中(服務器接收到的值)
listValue="value":將map集合的value的值放置到<label></label>標籤的中間(用於顯示)
* 使用value的屬性讓某個值被選中,中間添加{},中間添加的值是map集合的key,如果是多個值用逗號分開
-->
<s:checkboxlist name="subject" list="#{1:'瑜珈用品',2:'戶外用品',3:'球類',4:'自行車'}"
listKey="key" listValue="value" value="{1,3}"></s:checkboxlist>
形式三:如果集合裏存放的是javabean<br>
<s:checkboxlist name="person" list="#request.list" listKey="id" listValue="name" value="{2}"></s:checkboxlist>
radio 標籤<br>
<!-- 讓一個值被選中使用value,對應單選框來說可以去掉{},{}表示多個值
建議都加上 -->
形式一:操作List集合<br>
<s:radio name="subject" list="{'Java','.Net','RoR','PHP'}" value="'RoR'"></s:radio>
形式二:操作Map集合<br>
<s:radio name="subject" list="#{1:'瑜珈用品',2:'戶外用品',3:'球類',4:'自行車'}" listKey="key" listValue="value" value="3"></s:radio>
形式三:如果集合裏存放的是javabean<br>
<s:radio name="person" list="#request.list" listKey="id" listValue="name" value="3"></s:radio>
select 標籤<br>
<!--
headerKey:用來表示將指定的值'0'放置到option元素的value的屬性值中,並在第一個Option中顯示
headerValue:用來表示將指定的值'--請選擇--'放置到<option></option>元素的中間用於顯示,並在第一個Option中顯示
-->
形式一:如果集合爲list<br>
<s:select name="stu" list="{'Java','.Net','RoR','PHP'}" headerKey="0" headerValue="--請選擇--" value="{'PHP'}"></s:select>
形式二:如果集合爲map<br>
<!--
listKey:將map集合中定義的key的值放置到option元素的value的屬性值中(用於向服務器傳遞值)
listValue:將map集合中定義的value的值放置到<option></option>元素的中間,(用於在頁面上顯示)
-->
<s:select name="stu" list="#{1:'瑜珈用品',2:'戶外用品',3:'球類',4:'自行車'}" listKey="key" listValue="value" headerKey="0" headerValue="--請選擇--" value="{3}"></s:select>
<br>
形式三:如果集合裏存放的是javabean(id和name爲Person的屬性)<br>
<s:select list="#request.list" listKey="id" listValue="name" headerKey="0" headerValue="--請選擇--" value="{2}"></s:select>