标签目录
1、通用标签
a)Property
b)Set
i.默认为action scope,会将值放入request和ActionContext中
ii.page/request/session/application
c)bean
d)include对中文文件支持的问题,不建议使用,如需要包含,改用jsp包含
e)param
f)debug
2、控制标签
a)If elseif else
b)Iterator
i.collections map enumerateon iterator array
c)subset
3、UI标签
a)Theme
i.Simple xhtml(默认) css_xhtml ajax
4、AJAX标签
a)补充
5、$ # % 的区别
a)$用于i18n和Struts配置文件
b)#取得ActionContext的值
c)%将原本的文本属性解析为ognl,对于本来就是ognl的属性不起作用
i.参考<s:property>和<s:include>
一、property标签
格式:<s:property value=””default=”” escape=”true|false”/>
如果value中的内容为object,则Struts2都会把它解析成ognl表达式
如果里面需要表示为字符串,则需要将内容用单引号括起来
1、利用ognl表达式取值(例如:取值堆栈中的username值)
<s:propertyvalue="username"/>
2、取值为字符串
需要将内容用单引号括起来
<s:propertyvalue="’username’"/>
3、设置默认值-default
如果一个对象值取不到,则可以使用default设置一个默认值。
<s:propertyvalue="admin" default=”管理员”/>
4、设定HTML-escape
是否设置返回值为HTML原代码样式
true:解析返回值的html代码 false:原封不动返回值
<s:propertyvalue="'<hr/>'"escape="false"/>
二、set标签
注:var 用于设定变量名
value变量值(可以是ognl表达式),也可以是字符串
scope就是的作用范围request session page application action(默认)
<li>set设定adminName值(默认为request和ActionContext):<s:setvar="adminName"value="username"/></li>
<li>set从request取值:<s:propertyvalue="#request.adminName"/></li>
<li>set从ActionContext取值:<s:propertyvalue="#adminName"/></li>
<%--<li>set设定范围: <s:set name="adminPassword" value="password" scope="page"/></li>
<li>set从相应范围取值: <%=pageContext.getAttribute("adminPassword") %></li>
--%>
<li>set设定var,范围为ActionContext:<s:setvar="adminPassword"value="password"scope="session"/></li>
<li>set使用#取值:<s:propertyvalue="#adminPassword"/></li>
<li>set从相应范围取值:<s:propertyvalue="#session.adminPassword"/></li>
三、bean标签
定义bean,并使用param来设定新的属性值
<s:beanname="com.bjsxt.struts2.tags.Dog">
<s:paramname="name"value="'pp'"></s:param>
</s:bean>
定义bean,并使用一个变量(var)来接受创建的这个bean,取出值来
<s:beanname="com.bjsxt.struts2.tags.Dog"var="myDog">
<s:paramname="name"value="'oudy'"></s:param>
</s:bean>
拿出值:因为在actionContext中,所以使用#
<s:propertyvalue="#myDog.name"/>
当<s:bean>不指定var时,则对象相关属性会在值栈中。如果需要访问,则只能在<s:bean>标签内访问。
当<s:bean>标签结束后,则值栈就不存在这个对象了。
<s:beanname="com.bjsxt.struts2.tags.Dog">
<s:paramname="name"value="'pp'"></s:param>
<s:propertyvalue="name"/>
</s:bean>
四、<include>标签-少使用
包含文件
<li>include _include1.html包含静态英文文件
<s:includevalue="/_include1.html"></s:include>
</li>
<li>include _include2.html包含静态中文文件
<s:includevalue="/_include2.html"></s:include>
</li>
<li>include _include1.html包含静态英文文件,说明%用法
<s:setvar="incPage"value="%{'/_include1.html'}"/>
<s:includevalue="%{#incPage}"></s:include>
</li>
%{xxx}强制将xxx内容转换成OGNL表达式
<-- One: -->
<s:include value="myJsp.jsp" />
<-- Two: -->
<s:include value="myJsp.jsp">
<s:param name="param1" value="value2" />
<s:param name="param2" value="value2" />
</s:include>
<-- Three: -->
<s:include value="myJsp.jsp">
<s:param name="param1">value1</s:param>
<s:param name="param2">value2</s:param>
</s:include>
五、If elseif else
<li>if elseif else:
age =<s:propertyvalue="#parameters.age[0]"/><br/>
<s:setvar="age"value="#parameters.age[0]"/>
<s:iftest="#age<0">wrong
age!</s:if>
<s:elseiftest="#parameters.age[0]<20">too
young!</s:elseif>
<s:else>yeah!</s:else><br/>
<s:iftest="#parameters.aaa
== null">null</s:if>
</li>
<s:if test="%{false}">
<div>Will Not Be Executed</div>
</s:if>
<s:elseif test="%{true}">
<div>Will Be Executed</div>
</s:elseif>
<s:else>
<div>Will Not Be Executed</div>
</s:else>
六、Iterator标签
<li>遍历集合:<br/>
<s:iteratorvalue="{1,
2, 3}">
<s:property/>|<!—不需要写其它的,就可以输出数组内的值-->
</s:iterator>
</li>
<li>自定义变量:<br/>
<s:iteratorvalue="{'aaa',
'bbb', 'ccc'}"var="x">
<s:propertyvalue="#x.toUpperCase()"/>|
</s:iterator>
</li>
<li>使用status:<br/>
<s:iteratorvalue="{'aaa',
'bbb', 'ccc'}"status="status">
<s:property/>|
遍历过的元素总数:<s:propertyvalue="#status.count"/>|
遍历过的元素索引:<s:propertyvalue="#status.index"/>|
当前是偶数?:<s:propertyvalue="#status.even"/>|
当前是奇数?:<s:propertyvalue="#status.odd"/>|
是第一个元素吗?:<s:propertyvalue="#status.first"/>|
是最后一个元素吗?:<s:propertyvalue="#status.last"/>
<br/>
</s:iterator>
</li>
<li>
<s:iteratorvalue="#{1:'a',
2:'b', 3:'c'}">
<s:propertyvalue="key"/>|<s:propertyvalue="value"/><br/>
</s:iterator>
</li>
<li>
<s:iteratorvalue="#{1:'a',
2:'b', 3:'c'}"var="x">
<s:propertyvalue="#x.key"/>|<s:propertyvalue="#x.value"/><br/>
</s:iterator>
</li>
七、Theme
1、css(覆盖Struts2原来的css)
2、覆盖单个文件
3、定义自己的theme
4、实战
a)把所有主题定义为simple
b)Fielderror特殊处理
c)自己控制其他标签的展现
参考链接:
http://blog.csdn.net/liushuai_ly/article/details/7935291#t9
http://blog.csdn.net/zxl315/article/details/2886456
官方网站:http://struts.apache.org/development/2.x/docs/guides.html
struts实战
分享到:
相关推荐
struts2标签使用例子 struts2标签使用例子 struts2标签使用例子struts2标签使用例子
struts2标签库struts2标签库struts2标签库struts2标签库
Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...
利用Struts 2标签创建ex3.jsp页面,此页面提交给tag.action,在structs.xml中配置这个action的转发视图为result.jsp在result.jsp页面中显示ex3.jsp页面控件的值。(源代码和实验报告)
可对struts2 标签如等相应列进行求和.
史上最全的struts2标签史上最全的struts2标签
主要介绍了struts2的标签的详细使用例子说明
有关、相关、类似这样的Struts 2标签库的详细介绍。
struts2标签使用方法以及el表达式的使用,整理收集供参考
Struts2标签详解及具体实例解析,可作为Struts2标签的帮助文档,而且还有具体实例解析
本文讲述了使用Struts 2标签的注意事项,并介绍了学习Struts 2标签比较权威的网站。
struts2标签详解(经典)struts2标签详解(经典)struts2标签详解(经典)
struts2标签+ tiles lib
STRUTS:struts2标签库
包含了Struts2标签使用介绍的详细文档及APi文档,方便实用
自制的struts2标签chm格式,可以方便快速查询查看
第五章:struts2标签库
struts2 标签库介绍(html)对Struts2的标签做了详细的介绍让你轻松掌握Struts2的标签。 STRUTS2学习文档.pdf 对Struts2的一些配置文件进行了详细的说明。 Struts2―表单验证validate(html)对validate的type属性...