表单标签:
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>
struts2 Tag用法
最新推荐文章于 2024-10-31 17:09:21 发布