[size=medium]
Struts2标签:
property、set、bean、fielderror、ifelse、iterator 、ui标签
$ # % 的区别:
a. $用于i18n和struts配置文件
b. #用来取ActionContext的值
c. %将原来的文本属性解析为ognl,对于本来就是ognl的属性没有影响
<s:property /> <s:include />
jsp部分样例代码:
<ol>
<li>property: <s:property value="user.username"/></li>
<li>property: <s:property value="'username'"/></li>
<li>property: <s:property value="admin" default="管理员"/></li>
<li>property: <s:property value="'<hr/>'" escape="true"/></li>
<hr/>
<li>设定adminName的值 <s:set var="adminName" value="user.username"/></li>
<li>从request中取值 <s:property value="#request.adminName"/></li>
<li>从ContextAction中取值 <s:property value="#adminName"/></li>
<li>设定范围<s:set name="adminPassword" value="user.password" scope="page"/></li>
<li>从相应范围取值<%=pageContext.getAttribute("adminPassword") %></li>
<li>设定范围<s:set var="adminPassword" value="user.password" scope="session"/></li>
<li>用#取值<s:property value="#adminPssword"/></li>
<li>从相应范围取值<s:property value="#session.adminPassword"/></li>
<hr/>
<li>
<s:bean name="vo.Dog" var="mydog">
<s:param name="name" value="'jack'"></s:param>
</s:bean>
<s:property value="#mydog.name"/>
<s:debug></s:debug>
</li>
<hr/>
<li>包含英文静态页面<s:include value="/include1.html"></s:include></li>
<li>包含中文静态页面<s:include value="/include2.html"></s:include></li>
<li>包含英文静态页面,%的用法
<s:set var="incPage" value="'/include1.html'" />
<s:include value="%{#incPage}"></s:include>
</li>
<li><s:fielderror fieldName="fieldError" theme="simple"/></li>
<hr/>
<li>ifelse: <s:property value="user.age"/></li>
<s:set var="age" value="user.age"></s:set>
<s:if test="#age <= 0">age error。。。</s:if>
<s:elseif test="#age < 20">too young</s:elseif>
<s:else>enheng...</s:else> <br/>
<s:if test="#parameters.temp == null">is null</s:if>
<li>
<s:iterator value="{1, 2, 3}">
<s:property></s:property> |
</s:iterator>
</li>
<li>
<s:iterator value="{'aaa', 'bbb', 'ccc'}" var="c">
<s:property value="#c.toUpperCase()"></s:property> |
</s:iterator>
</li>
<li>
<s:iterator value="{'aaa', 'bbb', 'ccc'}" status="s">
<s:property /> |
遍历过的元素总数:<s:property value="#s.count"/> |
遍历过的元素索引:<s:property value="#s.index"/> |
当前是偶数:<s:property value="#s.even"/> |
当前数奇数:<s:property value="#s.odd"/> |
是第一个元素吗?<s:property value="#s.first"/> |
是最后一个元素吗?<s:property value="#s.last"/> <br/>
</s:iterator>
</li>
<li>
<s:iterator value="#{1:'aaa', 2:'bbb', 3:'ccc'}">
<s:property value="key" /> | <s:property value="value" /> <br/>
</s:iterator>
</li>
<li>
<s:iterator value="#{1:'aaa', 2:'bbb', 3:'ccc'}" var="x">
<s:property value="#x.key" /> | <s:property value="#x.value" /> <br/>
</s:iterator>
</li>
</ol>
待续。。。。
[/size]
Struts2标签:
property、set、bean、fielderror、ifelse、iterator 、ui标签
$ # % 的区别:
a. $用于i18n和struts配置文件
b. #用来取ActionContext的值
c. %将原来的文本属性解析为ognl,对于本来就是ognl的属性没有影响
<s:property /> <s:include />
jsp部分样例代码:
<ol>
<li>property: <s:property value="user.username"/></li>
<li>property: <s:property value="'username'"/></li>
<li>property: <s:property value="admin" default="管理员"/></li>
<li>property: <s:property value="'<hr/>'" escape="true"/></li>
<hr/>
<li>设定adminName的值 <s:set var="adminName" value="user.username"/></li>
<li>从request中取值 <s:property value="#request.adminName"/></li>
<li>从ContextAction中取值 <s:property value="#adminName"/></li>
<li>设定范围<s:set name="adminPassword" value="user.password" scope="page"/></li>
<li>从相应范围取值<%=pageContext.getAttribute("adminPassword") %></li>
<li>设定范围<s:set var="adminPassword" value="user.password" scope="session"/></li>
<li>用#取值<s:property value="#adminPssword"/></li>
<li>从相应范围取值<s:property value="#session.adminPassword"/></li>
<hr/>
<li>
<s:bean name="vo.Dog" var="mydog">
<s:param name="name" value="'jack'"></s:param>
</s:bean>
<s:property value="#mydog.name"/>
<s:debug></s:debug>
</li>
<hr/>
<li>包含英文静态页面<s:include value="/include1.html"></s:include></li>
<li>包含中文静态页面<s:include value="/include2.html"></s:include></li>
<li>包含英文静态页面,%的用法
<s:set var="incPage" value="'/include1.html'" />
<s:include value="%{#incPage}"></s:include>
</li>
<li><s:fielderror fieldName="fieldError" theme="simple"/></li>
<hr/>
<li>ifelse: <s:property value="user.age"/></li>
<s:set var="age" value="user.age"></s:set>
<s:if test="#age <= 0">age error。。。</s:if>
<s:elseif test="#age < 20">too young</s:elseif>
<s:else>enheng...</s:else> <br/>
<s:if test="#parameters.temp == null">is null</s:if>
<li>
<s:iterator value="{1, 2, 3}">
<s:property></s:property> |
</s:iterator>
</li>
<li>
<s:iterator value="{'aaa', 'bbb', 'ccc'}" var="c">
<s:property value="#c.toUpperCase()"></s:property> |
</s:iterator>
</li>
<li>
<s:iterator value="{'aaa', 'bbb', 'ccc'}" status="s">
<s:property /> |
遍历过的元素总数:<s:property value="#s.count"/> |
遍历过的元素索引:<s:property value="#s.index"/> |
当前是偶数:<s:property value="#s.even"/> |
当前数奇数:<s:property value="#s.odd"/> |
是第一个元素吗?<s:property value="#s.first"/> |
是最后一个元素吗?<s:property value="#s.last"/> <br/>
</s:iterator>
</li>
<li>
<s:iterator value="#{1:'aaa', 2:'bbb', 3:'ccc'}">
<s:property value="key" /> | <s:property value="value" /> <br/>
</s:iterator>
</li>
<li>
<s:iterator value="#{1:'aaa', 2:'bbb', 3:'ccc'}" var="x">
<s:property value="#x.key" /> | <s:property value="#x.value" /> <br/>
</s:iterator>
</li>
</ol>
待续。。。。
[/size]