Struts2标签
Struts2标签
1. 通用标签
1.1
<s:property value="userName" /> //正常取值userName的值
<s:property value="'userName'" /> //'userName'是一个字符串,直接输出userName
<s:property value="userName" default="用户名"/> //设置一个默认值
<s:property value="'<hr/>'" escape="true"/>
//设置html,escape默认是ture,可以将html代码解析成字符串,为false时,不解析html代码
1.2. set
<s:set var="adminName" value="userName"/> //设定一个变量adminName,值为userName的值,userName为传值参数
<s:property value="#request.adminName />" //使用request取值
<s:property value="#adminName />" //使用request取值
<s:set var="adminName" value="userName" scope="session"/> //scope: 范围
<s:property value="#session.adminName" /> //取范围内的值时需要"scope.var"
1.3. bean
<s:bean name="package.class" var="mybean"> //使用类中的toString方法保存为变量值
<s:param name="name" value="'oudy'"></s:param> //设置变量的默认值
</s:bean>
<s:property value="#mybean.name" /> //取值
1.4. include //中文显示问题, 尽量不要使用这个标签, 使用jsp导入
<s:include vlaue="/include.html"><s:include>
//value可以直接访问字符串, 若要访问变量使用
<s:include vlaue="%{#includePage}"><s:include> //%{}强制把括号中内容当成OGNL表达式
2. 控制标签
2.1 if elseif else
<s:if test="#age < 0">wrong age</s:if> //判断条件,成功,输出语句"wrong age"
<s:elseif test="#age < 0">too young</s:elseif>
<s:else>yeah</s:if>
2.2 iterator
<s:iterator value="{'aa','bb','cc'}" var="x" status="status">
<s:property value="#x.toUpperCase()"/> //使用字符串方法,
<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"/> //是左后一个元素?
</s:iterator>
5. $ # % 的区别
$: i18n: 国际化,
struts: 代表OGNL 表达式
#: 取得ActionContext 的值
%: 将原本的文本属性解析为ognl, 对于本来就是 ognl的属性不起作用