数据标签
1、action标签包含action页面
action标签用于访问某个Action,并将结果包含进来,相当于JSP中的include。参数ignoreContextParams表示是否将本页面的参数传递给被调用的Action,例如:
<s:action name="loginTest" executeResult="true" ignoreContextParams="false" />
2、bean标签引用JavaBean
bean标签用于引用某个Java Bean,以便访问其getter、setter方法,例如:
bean标签内部的<strurts:param>会通过setter方法把字符串set到name属性上,<struts:property>会调用name属性的getter方法输出属性的值。
1 <struts:bean name="com.helloweenvsfei.struts2.bean.Magazine" id="magazine"> 2 <struts:param name="name" value="%{'瑞丽杂志'}" /> 3 <struts:property value="name" /> 4 </struts:bean>
3、date标签输出日期
date标签用于格式化时间输出,属性format设置时间格式字符串,例如yyyy-MM--DD、HH:mm:ss等。format支持JDK中的日期格式。
date标签还有一个nice属性,默认为false。如果nice属性为true,会输出形如20days,6 hours ago,in 10 minutes等的时间格式。nice属性为true时format属性不起作用,例如:
1 <struts:bean name="java.util.Date" id="date"> 2 <struts:param name="time" value="#date.time - 70*24*60*60*1000"></struts:param> 3 </struts:bean> 4 5 <struts:date name="date" format="yyyy/MM-dd HH:mm:sss" /> <br /> <!-- 格式化日期 --> 6 <struts:date name="date" /> <br /> <!-- 默认日期格式 --> 7 <struts:date name="date" nice="true" /> <br/> <!-- 输出nice格式 -->
4、i18n、text标签声明资源国际化
这两个标签用于Struts2的资源国际化。i18n标签指定资源文件 ,text标签指定资源的索引。如果没有使用i18n,则使用Struts2的资源文件,例如:
1 <struts:text name="struts.messages.error.uploading" /> <br /> 2 3 <struts:i18n name="otherResources"> <!-- i18n标签指定资源文件 --> 4 <struts:text name="hello.world"></struts:text> <!-- text标签指定资源的索引 --> 5 </struts:i18n> <br/> 6 7 <hr /> 8 9 <struts:text name="none.resource">没有资源,显示标签体内的字符串。</struts:text> <br/> 10 <struts:text name="没有资源,也没有标签体内容,则显示name属性" /> <br/> 11 12 <hr /> 13 14 <struts:property value="%{getText('struts.messages.error.uploading')}" />
最后一句代码演示了property标签如何使用资源国际化。如果资源有参数,可以这样设定参数:
1 <s:text name="validation.required> <!-- 带参数的资源国际化 --> 2 <s:param value="User Name" /> <!-- 参数 --> 3 </s:text>
5、include标签包含JSP页面
include标签用于包含一个JSP页面,将JSP的执行结果包含到本页面内,相当于JSP行为里的<jsp:include/>,例如:
1 <struts:include value="/login.jsp"><struts:include> 2 <!-- 包含某个页面 -->
6、param标签传递参数
1 <struts:bean name="java.util.Date" id="date"> <!-- 设置参数 --> 2 <struts:param name="time" value="#date.time - 10*24*60*60*1000"></struts:param> 3 </struts:bean>
7、set标签设置变量值
1 <s:set name="technologyName" value="%{'Java'}" /> 2 <s:set name="account" value="{#parameters.account[0]" />
8、property标签输出变量值
1 <s:property value="account" /> 2 <s:property value="#parameters.account[0]" />