property标签
property标签用于取得value的属性值
<li>property: <s:property value="username"/> </li>
<!-- proerty标签中value中值默认解析为OGNL表达式 ,
想获取为字符串则添加单引号。
-->
<li>property 取值为字符串: <s:property value="'username'"/> </li>
<li>property 设定默认值: <s:property value="admin" default="管理员"/> </li>
<!-- escape默认为ture,设置为false可以将获取的字符解析为HTML -->
<li>property 设定HTML: <s:property value="'<hr/>'" escape="false"/> </li>
<hr />
set标签
当你访问复杂的OGNL表达式,或者需要通过复杂计算得到的值,
用set标签设置一个变量,将值保存在其中。
1. var指定变量名称。
2. value指定变量值。
3.scope指定设置范围
<li>set 设定admin值(默认是在request和ActionContext设定): <s:set var="adminName" value="username" /></li>
<li>set 从request中取值: <s:property value="#request.adminName" /></li>
<li>set 从ActionContext中取值: <s:property value="#adminName" /></li>
<li>set 设定var,范围session: <s:set var="adminPassword" value="password" scope="session"/></li>
<li>set 使用#取值ֵ: <s:property value="#adminPassword"/> </li>
<li>set 从相应的范围取值ֵ: <s:property value="#session.adminPassword"/> </li>
<hr />
bean标签
1.var属性设定此类在actionContext的属性名。
2.在<s:bean>标签内部对象在值栈中创建。
3.在<s:bean>外部标签外对象放在actioncontext中。
4.<s:param>标签设置对象属性的值。
<li>bean :
<s:bean name="com.struts2.tags.action.Dog" var="myDog">
<s:param name="name" value="'oudy'"></s:param>
</s:bean>
actionContext取值:
<s:property value="#myDog.name"/>
</li>
<hr />
inculde标签
静态包含。
在包含文件出现中文时,会出现乱码,可以直接用jsp中的包含。
($), (%)和(#)的用法 简述
1.%{}将非OGNL表达式解析为OGNL表达式,对于已经是OGNL表达式不起作用。
2.${}用于struts2文件中获取参数。
3.#用于页面获取actioncontext的属性。
<li>
包含静态文件:
<s:include value="/include.html"></s:include>
</li>
<li>
%的用法:
<s:set var="inpage" value="'/include.html'"></s:set>
<s:include value="%{#inpage}"></s:include>
</li>
<hr/>
fielderror标签
获取自定义错误信息
<!--与Action类中this.addFieldError("filderror.test", "wrong");所对应-->
<s:fielderror fieldName="filderror.test" ></s:fielderror>
iterator标签
1.遍历普通集合,value往其中添加值。
<s:iterator value="{1, 2, 3}" >
<!--遍历集合中所用元素并打印出来-->
<s:property/>
</s:iterator>
</li>
<li>ؔ֨遍历自定义变量:<br />
<!-- x相当于for循环中i -->
<s:iterator value="{'aaa', 'bbb', 'ccc'}" var="x">
<s:property value="#x.toUpperCase()"/> |
</s:iterator>
</li>
<li>使用当前状态(status):<br />
<s:iterator value="{'aaa', 'bbb', 'ccc'}" status="status">
<s:property/>
遍历过的元素总数<s:property value="#status.count"/> |
遍历过的元素索引<s:property value="#status.index"/> |
遍历时的元素是偶数位<s:property value="#status.even"/> |
遍历时的元素是奇数位<s:property value="#status.odd"/> |
是第一个元素<s:property value="#status.first"/> |
是最后一个元素<s:property value="#status.last"/>
<br />
</s:iterator>
<hr/>
2.遍历map
添加map集合时得使用#号
<li>
<s:iterator value="#{1:'a', 2:'b', 3:'c'}" >
<s:property value="key"/> | <s:property value="value"/> <br />
</s:iterator>
</li>
<li>
<s:iterator value="#{1:'a', 2:'b', 3:'c'}" var="x">
<s:property value="#x.key"/> | <s:property value="#x.value"/> <br />
</s:iterator>
</li>