字符串OGNL表达式
<s:property value="username">
<s:property value="‘username‘">
<s:property value="admin" default="管理员"> 在valuestack里面没有admin这个变量,所以需要不需要加上双引号。
<s:property value="‘<hr/>‘" escape="true|false"> true的话不要解析,直接输出,如果设置成false的话就直接解析成html标签。
<s:set var="adminName" value="chunbin">这样就可以设置adminName的值
<bean></bean>标签
<s:bean name="com.xml.glk.Dog"></s:bean>
<s:bean>一旦结束就从栈顶拿走了
如果指定了var那么就可以放到context里面,通过#param就可以访问到
<s:bean name="com.xml.glk.Dog" var="dogMy"></s:bean>
====
include标签
<
<s:inlcude value="%{#incPage}"></s:inlcude> 加上%使其将里面解释为OGNL表达式
通用标签: 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 enumeration iterator array c) subset
<s:if test="parameters.age[0]<0"> wrog ingage</s:if>
<s:elseif test="parameters.age[0]<20 wrog ingage</s:if>
<s:else> yes:if>
<s:if test="parameters.aaa==null"></s:if> 判断某个值是否为空
遍历所有元素,property会自动取出所有的值
<s:iterator value="{1,2,3}">
<s:property/> |
</s:iterator>
自定义变量
<s:iterator value="{‘aaa‘,‘bbb‘,‘ccc‘}" var="x">
<s:property value="#x.toUpperCase()"/> |
</s:iterator>
<s:iterator value="{‘aaa‘,‘bbb‘,‘ccc‘}" status="status">
<s:property value="#status.count"/>
<s:property value="#status.index"/>
</s:iterator>
status用来记录当前遍历的状态。是否基数,是否偶数,是否第一个,是否最后一个
遍历map
<s:iterator value="#{1:‘aaa‘,2:‘bbb‘,3:‘ccc‘}"> --加上个#,不知道为什么?
<s:property value="key"/> | <s:property value="value"/> <br/>
</s:iterator>
Subset从一个集合截取子集合,start count
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
Structs2-Tags