目录
- 控制标签
- 表单标签
一,控制标签
if、elseif、else
<s:if test="%{表达式1}">
<div>if标签判断</div><!-- 满足条件执行 -->
</s:if>
<s:elseif test="%{表达式2}">
<div>表达式1为false则执行elseif标签判断</div><!-- 满足条件执行 -->
</s:elseif>
<s:else>
<div> 前面2个条件都不满足时 </div><!-- 满足条件执行 -->
</s:else>
append 标签,拼接两个集合
<s:append id="newList"> <!-- id是拼接之后的新集合的名字 -->
<s:param value="{'足球','篮球','兵乓球'}"/>
<s:param value="{'苹果','橘子'}"></s:param>
</s:append>
<s:iterator value="#newList" status="st">
<s:property/>
</s:iterator>
generator 产生一个迭代器
<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="4" separator="," var="myIterato" />
<s:iterator>
<s:property /><br/>
</s:iterator>
</s:generator>
<!-- #标签属性#
count 所生成迭代器中元素的数量
separator val属性中的分隔符
val 用于生成迭代器
converter 转换val属性提供的值转换为对象的转换器
id 如果提供,将代表page context中生成的迭代器
-->
iterator
<!-- 遍历普通List -->
<s:iterator value="{1, 2, 3}" >
<s:property/>
</s:iterator>
<!-- 遍历Map -->
<s:iterator value="itemMap" id="item">
<s:iterator value="#item.value" status="s">
<s:property value="ID"/>
<s:property value="name"/>
<s:property value="age"/>
</s:iterator>
</s:iterator>
merge 标签,作用是合并迭代器(和append标签类似)
<s:merge id="newList"> <!-- id是拼接之后的新集合的名字 -->
<s:param value="{'足球','篮球','兵乓球'}"/>
<s:param value="{'苹果','橘子'}"></s:param>
</s:merge>
<s:iterator value="#newList" status="st">
<s:property/>
</s:iterator>
sort 用传入的 Comparator对List进行排序
<s:sort comparator="myComparator" source="myList">
<s:iterator>
<s:property />
</s:iterator>
</s:sort>
subset 取一个迭代器的子集
<s:subset source="myList" decider="myDecider">
<s:iterator>
<s:property />
</s:iterator>
</s:subset>
<!-- #标签属性#
count 子集中的元素个数
source 源集合
start 子集在源集合中的开始索引(如从0开始)
decider 用于判断是否某特定元素包含在子集中
id 标签元素的id属性
-->
二,表单标签
checkbox 复选框
<s:checkbox label="checkbox test" name="checkboxField1" value="aBoolean" fieldValue="true"/>
checkboxlist
<s:checkboxlist name="map" list="#{1:'苹果',2:'梨子',3:'西瓜'}"
listKey="key" listValue="value" value="{1,2,3}" />
combobox 下拉框
<s:combobox
label="My Favourite Color"
name="myFavouriteColor"
list="#{'red':'red','green':'green','blue':'blue'}"
headerKey="-1"
headerValue="--- Please Select ---"
emptyOption="true"
value="green" />
datetextfield
doubleselect 绘制两个HTML Select元素
<s:doubleselect label="doubleselect test1" name="menu" list="{'fruit','other'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />
<s:doubleselect label="doubleselect test2" name="menu" list="#{'fruit':'Nice Fruits', 'other':'Other Dishes'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />
head
<head>
<title>My page</title>
<s:head/>
</head>
file 绘制一个HTML file input元素
<s:file name="anUploadFile" accept="text/*" />
<s:file name="anohterUploadFIle" accept="text/html,text/plain" />
form 输出一个HTML输入表单
<s:form ... />
hidden 输出一个类型为hidden的HTML input元素
<s:hidden name="foo" value="bar" />
inputtransferselect 获取form的一个输入
<s:inputtransferselect
label="Favourite Cartoons Characters"
name="cartoons"
list="{'Popeye', 'He-Man', 'Spiderman'}"
/>
label 一个HTML LABEL 将得到形式为label:name的输出
<s:label label="%{text('user_name')}" name="userName" />
optiontransferselect
<s:optiontransferselect
label="Favourite Cartoons Characters"
name="leftSideCartoonCharacters"
list="{'Popeye', 'He-Man', 'Spiderman'}"
doubleName="rightSideCartoonCharacters"
doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}"
/>
optgroup
<s:select label="My Selection"
name="mySelection"
value="%{'POPEYE'}"
list="%{#{'SUPERMAN':'Superman', 'SPIDERMAN':'spiderman'}}">
<s:optgroup label="Adult"
list="%{#{'SOUTH_PARK':'South Park'}}" />
<s:optgroup label="Japanese"
list="%{#{'POKEMON':'pokemon','DIGIMON':'digimon','SAILORMOON':'Sailormoon'}}" />
</s:select>
password 输出一个类型为password的HTML input元素.
<s:password label="%{text('password')}" name="password" size="10" maxlength="15" />
radio 输出单选框字段.
<s:action name="GenderMap" var="genders"/>
<s:radio label="Gender" name="male" list="#genders.genders"/>
reset 提供了一个reset按钮. reset标签与form标签一起使用,用来复位表单.
<s:reset value="%{'复位'}" />
select 创建一个HTML Select列表组件.
<s:select label="Pets"
name="petIds"
list="petDao.pets"
listKey="id"
listValue="name"
multiple="true"
size="3"
required="true"
/>
submit 绘制一个提交按钮. submit标签和form标签一起使用可以提供异步表单提交功能.
<s:submit value="%{'提交'}" />
textarea 创建一个HTML textarea标签
<s:textarea label="Comments" name="comments" cols="30" rows="8"/>
textfield 绘制一个text类型的HTML input元素.
<s:textfield label="%{text('user_name')}" name="user" />
token 防止表单重复提交.
<s:token />
updownselect 创建一个元素Select列表组件, 带有可以上下移动选项元素的按钮. 当表单提交时, 列表中的元素全部被选中并按照排列顺序(从顶至底)被提交.
<s:updownselect
list="defaultFavouriteCartoonCharacters"
name="prioritisedFavouriteCartoonCharacters"
headerKey="-1"
headerValue="--- Please Order ---"
emptyOption="true"
allowMoveUp="true"
allowMoveDown="true"
allowSelectAll="true"
moveUpLabel="Move Up"
moveDownLabel="Move Down"
selectAllLabel="Select All" />