Struts2的标签
1、Struts2标签分为4类:
² 数据标签:动态呈现Action执行之后所产生的信息、国际化文本以及Action生成的URL和链接等。
² 控制标签:用来控制呈现给最终视图的信息以及控制对集合的操作
² UI标签:封装了HTML表单标签和其他用户界面组件。
² 杂项标签
2、导入Struts2的标签库
<%@taglib uri="/struts-tags" prefix="s"%>
(1)数据标签:
<s:property>
– 输出value所指对象的值,如果value没提供,默认为值栈栈顶端的元素。
名称
|
必需
|
默认
|
类型
|
描述
|
default
|
否
|
|
String
|
如果属性是null则显示的default值
|
escape
|
否
|
true
|
Booelean
|
是否escape HTML
|
value
|
否
|
栈顶
|
Object
|
要显示的值
|
数据标签结合ONGL的使用:
<!-- 如果value没提供,默认为值栈栈顶端的元素。 -->
<s:property/>
<!-- 在action中使用set方法后传递到jsp页面的值可以利用以下struts标签获取 -->
<s:property value="message"/>
<s:property value="#request.message"/>
<s:property value="#attr.message"/>
<!-- 也可以使用el表达式获取等等.... -->
<!-- 如果当在action中使用set方法往jsp页面传递对象时候,可以使用以下方式获取 -->
<tr><td><s:property value="good.name"/></td>
<td><s:property value="good.price"/></td>
<td><s:property value="good.crateDate"/></td>
<!-- <td><s:property value="#attr.good.getCrateDate()"/></td> --> </tr>
<!-- 如果当在action中使用set方法往jsp页面传递对象时候,可以使用以下 方式获取 -->
<tr><td><s:property value="#request.good.name"/></td>
<td><s:property value="#attr.good.price"/></td>
<td><s:property value="#request.good.getCrateDate()"/></td>
<!-- <td><s:property value="#attr.good.getCrateDate()"/></td> -->
</tr>
<!-- 以上说明只用当page,request,session,application,attr使用#求值 -->
• <s:set>
– 赋予变量一个特定范围内的值。当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到
名称
|
必需
|
默认
|
类型
|
描述
|
name
|
是
|
|
String
|
变量名字
|
scope
|
否
|
|
String
|
变量作用域,可以为application, session, request, page, 或action.
|
value
|
否
|
|
Object/String
|
将会赋给变量的值
|
(2)Struts2的控制标签
• if/elseif/else
– 执行基本的条件流转
名称
|
必需
|
默认
|
类型
|
描述
|
备注
|
test
|
是
|
|
Boolean
|
决定标志里内容是否显示的表达式
|
else标志没有这个参数
|
• <s:iterator>
– 用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
名称
|
必需
|
默认
|
类型
|
描述
|
status
|
否
|
|
String
|
如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈
|
value
|
否
|
|
Object/String
|
要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象
|
iterator标签用于对集合进行迭代,这里的集合包含List、Set和数组。
<s:set name="list" value="{'zhangming','xiaoi','liming'}" />
<s:iterator value="#list" status="st">
<font color=<s:if test="#st.odd">red</s:if><s:else>blue</s:else>>
<s:property /></font><br>
</s:iterator>
value:可选属性,指定被迭代的集合,如果没有设置该属性,则使用ValueStack栈顶的集合。
id:可选属性,指定集合里元素的id。
status:可选属性,该属性指定迭代时的IteratorStatus实例。该实例包含如下几个方法:
int getCount(),返回当前迭代了几个元素。
int getIndex(),返回当前迭代元素的索引。
boolean isEven(),返回当前被迭代元素的索引是否是偶数
boolean isOdd(),返回当前被迭代元素的索引是否是奇数
boolean isFirst(),返回当前被迭代元素是否是第一个元素。
boolean isLast(),返回当前被迭代元素是否是最后一个元素。
(3)Struts的杂项标签
<s:url>用于创建url可以通过"param"标签提供request参数
名称
|
必需
|
默认
|
类型
|
描述
|
id
|
否
|
|
String
|
ID
|
scope
|
否
|
|
String
|
变量作用域,可以为application, session, request, page, 或action.
|
value
|
否
|
|
Object/String
|
将会赋给变量的值
|
<s:url action="./updateUser.action" id="up">
<s:param name="user.id" value="#user.id"></s:param>
</s:url>
<s:a href="%{up}">修改</s:a>
• <s:include>
– 包含一个servlet的输出(servlet或jsp的页面)。
名称
|
必需
|
默认
|
类型
|
描述
|
value
|
是
|
|
String
|
要包含的jsp或servlet
|
• <s:param>
– 为其他标签提供参数,比如include标签和bean
名称
|
必需
|
默认
|
类型
|
描述
|
name
|
否
|
|
String
|
参数名
|
<td styl
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
java Web开发,我们最常用的Struts2常用标签总结,帮助你Struts2常用标签有那些功能
自己使用过的struts2标签总结 1. resList是action中的一个属性 [removed]similarityPwdDeQQ('${pwd.idType }','${pwd.vidPwd2}','${idCode}')"> ${pwd.vidPwd2}(${pwd.useTimes}) ...
有对struts2标签和OGNL的总结。
struts2 标签 大全 总结 实用 很好的学习材料
struts2常用标签总结,适合 初学者
对struts1的标签库进行总结,可以熟悉对struts1标签库的运用,更好的熟悉struts1编程
Struts2知识点总结,包括文件上传,文件下载,防止表单重复提交,Struts2标签,Struts2拦截器
Struts2第一章 一、 介绍: a) Struts2是以web work优秀的设计思想为核心,吸收了struts1的部分优点,建立了一个基于webwork和struts1的MVC框架。 二、 优点: a) 结构清晰,使开发者只关注业务逻辑实现即可。 b) ...
struts2常用标签方法总结
主要为大家详细总结了struts2标签的使用方法,和学习资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
提供struts1.x中标签的总结,包括标签中属性代表的含义等。这是我积累经验后总结的,希望和我一样热爱编程的朋友们能好好利用~
java struts2 总结 ,对struts2开发有详细的描述,包括过程,以及标签的应用,注意事项
struts2 总结入门学习文档 教你如何白手起家搭建Struts2开发环境、编写第一个struts2应用helloworld、属性介绍、接口、拦截器介绍、struts2标签等。93页
struts2的只是复习点,同学总结的,进攻参考的
其中包含Struts标签大全 jsp Struts之HTML标签库详解 struts框架bean,html,logic标签手册等内容。不错,其中的JSP Struts之HTML标签库详解 .doc是朋友总结的。不错!
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
我深入细致的总结了日常使用Struts的一些经验,感觉Struts标签的用途非常广泛并且功能强大,但是学起来还是比较费时间的。我认为学习Struts标签最好的方式就是参考良好的示例,幸运的是这些示例您可以在下面找到。