Struts2常用标签详解

目录

  1. 控制标签
  2. 表单标签

一,控制标签

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" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值