struts2 Tag用法

 原文

表单标签:



s:checkboxlist
<s:form>
<!-- 使用简单集合来生成多个复选框 -->
<s:checkboxlist name="a" label="请选择您喜欢的图书" labelposition="top"
 list="{'Spring2.0宝典全球' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"/>
<!-- 使用简单Map对象来生成多个复选框 -->
<s:checkboxlist name="b" label="请选择您想选择出版日期" labelposition="top"
 list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
 listKey="key"
 listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来生成多个复选框 -->
<s:checkboxlist name="b" label="请选择您喜欢的图书" labelposition="top"
 list="#bs.books"
 listKey="name"
 listValue="author"/>
</s:form>

 

 

 

 

combobox



<s:form>
<s:combobox label="请选择您喜欢的图书" theme="css_xhtml" labelposition="top"
 list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"
 size="20" maxlength="20" name="book"/>
</s:form>


datetimepicker

 

 

<s:form theme="simple">
 日期选择部件,指定toggleType属性,且指定value="today"<br>
  <s:datetimepicker name="order.date" label="购买日期" toggleType="explode" value="today"/><hr>
 日期选择部件,指定了format属性<br>
  <s:datetimepicker name="order.date" label="购买日期" displayFormat="dddd年MM月dd日"/><hr>
 日期选择部件,指定了weekStartsOn属性<br>
  <s:datetimepicker name="order.date" label="购买日期" displayFormat="dddd年MM月dd日" weekStartsOn="2"/><hr>
 时间选择部件<br>
 <s:datetimepicker label="选择出发时间'" name="start" type="time" value="13:00"/><hr>
</s:form>

 

 

 

doubleselect

 

 

<s:form action="x">
  <s:doubleselect
  label="请选择您喜欢的图书"
  name="author" list="{'李刚', 'David'}"
  doubleList="top == '李刚' ? {'Spring2.0宝典', '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'} : {'JavaScript: The Definitive Guide'}" 
  doubleName="book"/>
 
</s:form>

 

 

doubleselect

 

 

<s:set name="bs" 
value="#{'李刚': {'Spring2.0宝典', '轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'},
 'David': {'JavaScript: The Definitive Guide'},
 'Johnson': {'Expert One-on-One J2EE Design and Development'}}" />
<s:form action="x">
  <s:doubleselect
  label="请选择您喜欢的图书"
  size="3"
  name="author" list="#bs.keySet()"
  doubleList="#bs[top]" 
  doubleSize="3"
  doubleName="book"/>
 
</s:form>

 

 

optgroup 

 

<s:form>
<!-- 使用Map对象来生成下拉选择框的选项组 -->
<s:select label="选择您喜欢的图书"
  name="book"
  list="#{'Spring2.0宝典':'李刚','轻量级J2EE企业应用实战':'李刚','基于J2EE的Ajax宝典':'李刚'}"
  listKey="value"
  listValue="key">
  <s:optgroup label="Rod Johnson"
  list="#{'Expert One-on-One J2EE Design and Development':'Johnson'}"
  listKey="value"
  listValue="key"/>
  <s:optgroup label="David Flanagan"
  list="#{'JavaScript: The Definitive Guide':'David'}"
  listKey="value"
  listValue="key"/>
</s:select>
</s:form>

 

 

optiontransferselect 

 

<s:form>
<!-- 使用简单集合对象来生成可移动的下拉列表框 -->
 <s:optiontransferselect 
  label="请选择你喜欢的图书"
 name="cnbook" 
 leftTitle="中文图书:"
 rightTitle="外文图书"
 list="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}" 
 multiple="true"
 addToLeftLabel="向左移动"
 selectAllLabel="全部选择"
 addAllToRightLabel="全部右移"
 headerKey="cnKey"
 headerValue="--- 选择中文图书 ---"
 emptyOption="true"
 doubleList="{'Expert One-on-One J2EE Design and Development', 'JavaScript: The Definitive Guide'}" 
 doubleName="enBook"
 doubleHeaderKey="enKey"
 doubleHeaderValue="--- 选择外文图书 ---" 
 doubleEmptyOption="true"
 doubleMultiple="true"
/>

</s:form>

 

 

 

radio 

 

<s:form>
<!-- 使用简单集合来生成多个单选框 -->
<s:radio name="a" label="请选择您喜欢的图书" labelposition="top"
 list="{'Spring2.0宝典' , 'Spring In Action' , 'JavaScript: The Definitive Guide'}"/>
 
 
<!-- 使用简单Map对象来生成多个单选框 -->
<s:radio name="b" label="请选择您想选择出版日期" labelposition="top"
 list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
 listKey="key"
 listValue="value"/>
 
 
 
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来生成多个单选框 -->
<s:radio name="c" label="请选择您喜欢的图书" labelposition="top"
 list="#bs.books"
 listKey="author"
 listValue="name"/>
</s:form>

 

 

select 

 

<s:form>
<!-- 使用简单集合来生成下拉选择框 -->
<s:select name="a" label="请选择您喜欢的图书" labelposition="top" multiple="false"
 list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
<!-- 使用简单Map对象来生成下拉选择框 -->

<s:select name="b" label="请选择您想选择出版日期" labelposition="top" 
 list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
 listKey="key"
 listValue="value"/>
 
 
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来生成下拉选择框 -->
<s:select name="b" label="请选择您喜欢的图书" labelposition="top" multiple="true"
 list="#bs.books"
 listKey="author"
 listValue="name"/>
</s:form>

 

 

token

 

<s:form>
 <s:token/>

 

 

 

updownselect 

 

 

<s:form>
<!-- 使用简单集合来生成可上下移动选项的下拉选择框 -->
<s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"
 moveUpLabel="向上移动"
 list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
<!-- 使用简单Map对象来生成可上下移动选项的下拉选择框 
  且使用emptyOption="true"增加一个空选项-->
<s:updownselect name="b" label="请选择您想选择出版日期" labelposition="top"
 moveDownLabel="向下移动"
 list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
 listKey="key"
 emptyOption="true"
 listValue="value"/>
<s:bean name="lee.BookService" id="bs"/>
<!-- 使用集合里放多个JavaBean实例来可上下移动选项的生成下拉选择框 -->
<s:updownselect name="c" label="请选择您喜欢的图书的作者" labelposition="top"
 selectAllLabel="全部选择" multiple="true"
 list="#bs.books"
 listKey="author"
 listValue="name"/>
</s:form>
</s:form>

 

数据标签:

 

bean 

 

<s:bean name="lee.Person" id="p">
 <s:param name="name" value="'dengjianli'"/>
 <s:param name="age" value="23"/>
</s:bean>
<s:property value="#p.name"/><br>
<s:property value="#p.age"/>
<p>

 

 

include 

 

<s:include value="include-file.jsp"/>
<s:include value="include-file.jsp">
 <s:param name="author" value="'dengjianli'"/>
</s:include>

 

set 

 

<s:bean name="lee.Person" id="p">
 <s:param name="name" value="'dengjianli'"/>
 <s:param name="age" value="23"/>
</s:bean>
将Stack Context中的p值放入默认范围内。<br>
<s:set value="#p" name="yy"/>
<s:property value="#yy.name"/><br>
<s:property value="#yy.age"/><br>
将Stack Context中的p值放入application范围内。<br>
<s:set value="#p" name="xxx" scope="application"/>
<s:property value="#attr.xxx.name"/><br>
<s:property value="#attr.xxx.age"/><br>
将Stack Context中的p值放入session范围内。<br>
<s:set value="#p" name="xxx" scope="session"/>
${sessionScope.xxx.name}<br>
${sessionScope.xxx.age}<br>

 

 

url 

 

只指定value属性的形式。<br>
<s:url value="editGadget.action"/>
<hr>
指定action属性,且使用param传入参数的形式。<br>
<s:url action="showBook">
  <s:param name="author" value="'dengjianli'" />
</s:url>
<hr>
既不指定action属性,也不指定value属性,且使用param传入参数的形式。<br>
<s:url includeParams="get" >
  <s:param name="id" value="%{'22'}"/>
</s:url>
<hr>
同时指定action属性和value属性,且使用param传入参数的形式。<br>
<s:url action="showBook" value="xxxx">
  <s:param name="author" value="'dengjianli'" />
</s:url>

 

 

 

date 

 

 

<body>
<%
java.util.Date now = new java.util.Date(107, 12, 23, 13, 23, 24);
pageContext.setAttribute("now" , now);
%>
nice="false",且指定format="dd/MM/yyyy"<br>
<s:date name="#attr.now" format="dd/MM/yyyy" nice="false"/><hr><br>
nice="true",且指定format="dd/MM/yyyy"<br>
<s:date name="#attr.now" format="dd/MM/yyyy" nice="true"/><hr><br>
指定nice="true"<br>
<s:date name="#attr.now" nice="true" /><hr><br>
nice="false",且没有指定format属性<br>
<s:date name="#attr.now" nice="false"/><hr><br>

</body>

 

 

 

action 

 

 

 

<body>
下面调用第一个Action,并将结果包含到本页面中。<br>
<s:action name="tag1" executeResult="true"/>
<hr/>
下面调用第二个Action,并将结果包含到本页面中。<br>
并且阻止本页面请求参数传入Action。<br>
<s:action name="tag2" executeResult="true" ignoreContextParams="true"/>
<hr/>
下面调用第二个Action,且并不将结果包含到本页面中。<br>
<s:action name="tag2" executeResult="true"/>
<s:property value="#attr.author"/>
</body>

 

 

 

push 

 

 

<h2>使用s:push来将某个值放入ValueStack的栈顶</h2>
<s:bean name="lee.Person" id="p">
 <s:param name="name" value="'yeeku'"/>
 <s:param name="age" value="29"/>
</s:bean>
<s:push value="#p">
 <s:property value="name"/><br>
 <s:property value="age"/><br>
</s:push>

 

 

 

控制标签

 

if

 

<body>
<s:set name="age" value="29"/>
<s:if test="${age > 60}">
  老年人
</s:if>
<s:elseif test="${age > 35}">
  中年人
</s:elseif>
<s:elseif test="${age > 15}" id="wawa">
 青年人
</s:elseif>
<s:else>
  少年
</s:else>
</body>

 

 

append 

 

<body>
<s:append id="newList">
 <s:param value="#{'Spring2.0宝典':'李刚','轻量级J2EE企业应用实战':'李刚','基于J2EE的Ajax宝典':'李刚'}" />
 <s:param value="#{'新东方IT培训', '东方标准职业教育'}" />
</s:append>

<table border="1" width="240">
<s:iterator value="#newList" status="st">
 <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
  <td><s:property value="key"/></td>
  <td><s:property value="value"/></td>

 </tr>
</s:iterator>

</table>

<p>append标签用于将多个集合对象拼接起来,组成一个新的集合,
通过这种拼接,从而允许通过一个标签就完成多个集合的迭代.
</p>
</body>

 

 

iterator 

 

<table border="1" width="200">
<s:iterator value="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}" id="name"> 
 <tr>
  <td><s:property value="#st.count"/><s:property value="name"/></td>
 </tr>
</s:iterator>
</table>

 

 

 

generator

 

 

<body>
<s:generator val="'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典'"
 separator="," id="books" count="3"/>
<table border="1" width="240">
<%
 java.util.Iterator i = (java.util.Iterator) pageContext.getAttribute("books");
 while(i.hasNext())
 {
  String s = (String) i.next(); %>
  <tr>
  <td><%=s%></td>
  </tr>
<%
}
%>
</table>

 

<p>
使用generator标签可以将指定字符串按指定分隔符分隔成多个子串,
临时生成的多个子串可以使用iterator标签来迭代输出。 
可以这样理解:将一个字符串转化成一个集合。
</p>

</body>

 

 

 

merge 

 

 

<body>
<s:merge id="newList">
 <s:param value="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}" />
 <s:param value="{'新东方IT培训', '东方标准职业教育'}" />
</s:merge>

<table border="1" width="240">
<s:iterator value="#newList" status="st">
 <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
  <td><s:property/></td>
 </tr>
</s:iterator>
</table>
</body>

 

 

 

sort 

 

<body>
<s:bean id="mycomparator" name="lee.MyComparator"/>
<table border="1" width="200">
<s:sort 
 source="{'轻量级J2EE企业应用实战','基于J2EE的Ajax宝典','Spring2.0宝典'}" 
 comparator="#mycomparator">
<s:iterator status="st"> 
 <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
  <td><s:property/></td>
 </tr>
</s:iterator>
</s:sort>
</table>
</body>

 

 

subset 

 

<table border="1" width="200">
<s:subset source="{'Java培训基础','Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典','WebWork实战'}" 
 start="1" count="3">
<s:iterator status="st"> 
 <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
  <td><s:property/></td>
 </tr>
</s:iterator>
</s:subset>
</table>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值