1.取值标签
<s:property value="user.username" /> 取值栈中的数据
<s:property value="#session.user.username" /> 取栈上下文中的数据
可以用 ${} 来代替
2.使用push标签后的简化访问方式
<s:push value="#session.user">
姓名:<s:property value="username" /><br>
性别:<s:property value="sex" /><br>
邮箱:<s:property value="email" />
</s:push>
3.<s:bean name="org.sunxin.struts2.ch08.model.User" id="user">
<s:param name="username" value="'wangwu'"/>
<s:param name="email" value="'zhangsan@sina.com'"/>
用户名:<s:property value="username"/><br> <!-- 可以正常输出username属性 -->
邮箱:<s:property value="email"/> <!-- 可以正常输出email属性 -->
</s:bean>
<p>
<!-- 访问保存到OgnlContext中的user对象 -->
用户名:<s:property value="#user.username"/><br> <!-- 可以正常输出User对象的username属性 -->
邮箱:<s:property value="#user.email"/> <!-- 可以正常输出User对象email属性 -->
4.<s:date name="#attr.futureDate" format="yyyy年MM月dd日"/>
5.<h3>使用generator标签拆分一个字符串,生成迭代器对拆分后的子串进行迭代</h3>
<s:generator val="'zhangsan,lisi,wangwu'" separator=",">
<s:iterator>
<s:property/><br>
</s:iterator>
</s:generator>
6.在struts.xml中指定 资源文件
<constant name="struts.custom.i18n.resources" value="ApplicationResources,Resources"/>
7.默认读取读取struts.xml中指定 资源文件 的信息
<s:text name="username"/><br>
8.i18n 读取指定ApplicationResources资源文件中的信息,如果找不到就去读取struts.xml指定资源文件中的信息
<s:i18n name="ApplicationResources">
用户名:<s:text name="username"/><br>
邮箱:<s:text name="email"/>
</s:i18n>
9.<s:set name="score" value="80"/>
您的成绩是:
<s:if test="#score < 60">
不及格
</s:if>
<s:elseif test="#score >= 60 && #score < 85">
及格
</s:elseif>
<s:else>
优秀
</s:else>
----直接定义集合{}
<s:iterator value="{'zhangsan', 'lisi', 'wangwu'}" status="st">
<tr>
<td><s:property/></td>
<td><s:property value="#st.count"/></td>
<td><s:property value="#st.index"/></td>
<td><s:property value="#st.even"/></td>
<td><s:property value="#st.odd"/></td>
<td><s:property value="#st.first"/></td>
<td><s:property value="#st.last"/></td>
</tr>
</s:iterator>
10.---定义映射机会 #{}
<s:iterator value="#{'first':'zhangsan', 'second':'lisi', 'third':'wangwu'}">
<s:property value="key"/>=<s:property value="value"/><br>
</s:iterator>
---取值栈 value=vs --取栈上下文 value=#request
11.定义一个排序规则类
<s:bean name="org.sunxin.struts2.ch08.action.generic.controltag.MyComparator" id="myComparator"/>
进行排序输出
<s:sort
source="{'《Java无难事》','《VC++深入详解》','《Struts 2开发详解》','《Java Web开发详解》'}"
comparator="#myComparator">
<ol>
<s:iterator>
<li><s:property/></li>
</s:iterator>
</ol>
</s:sort>
12.读取资源文件
#{} 集合中读取资源文件可以用 getText('?')方法
用 s:text name=? 读取资源文件 struts的文本text标签
s标签中的 key 也是去读取资源 struts标签中的 key属性
13.指定资源文件有三种方式
1 : 在struts.xml里面去直接指定src下面的资源文件
< constant name="struts.custom.i18n.resources" value="MyResource" />
2 : 直接在页面中指定资源文件
< s:i18n name="MyResource">
3: 和Action同步的资源文件
RegisterAction.java 会自动读取RegisterAction.properties
14.{} 的用法
{'one','two','three' }集合 list,set
#{'one':'1','two':'2','three':'3' }映射集合 map
%{abc+'def'} 先取abc对应的值,再直接输出字符def
${name} el表达式