9、<s:if>/<s:else>/<s:elseif>
这三种标签通过布尔逻辑值动态控制页面显示内容。相当编程语言中的if/else/else if。如下代码所示:
if
</ s: if >
< s:elseif test = " 2>0 " >
else if
</ s:elseif >
< s: else >
else
</ s: else >
10、<s:include>
虽然JSP标准标签库中己经包含了include标签,但是Struts2还是定制了适合框架的include标签。Struts2提标该标签要比JSP中的强大。该标签提供了访问valuestack的功能,其中的value属性能动态的生成要包含的页面URL。如:<s:include value=""/>
11、<s:url>
提供了一种更好的封装URL的手段。示例代码如下所示:
< s:url value = " editGadget.action " >
< s:param name = " id " value = " %{selected} " />
</ s:url >
< s:url action = " editGadget " >
< s:param name = " id " value = " %{selected} " />
</ s:url >
< s:url includeParams = " get " >
< s:param name = " id " value = " %{'22'} " />
</ s:url >
12、<s:i18n>
该标签为框架国际化提供了支持。示例代码如下所示:
The i18n value for key aaa.bbb.ccc in myCustomBundle is < s:property value = " text('aaa.bbb.ccc') " />
</ s:i18n >
< s:i18n name = " some.package.bundle " >
< s:text name = " some.key " />
</ s:i18n >
注:name属性为要使用的资源的文件名。
13、<s:text>
用于显示特定文件,它提供了基于健的查询,主要用国际化功能中。如:<s:text name="key"/>。name属性为特定文本中的健值。示例代码如下所示:
< s:i18n name = " struts.action.test.i18n.Shop " >
< s:text name = " main.title " />
</ s:i18n >
<!-- Second Example -->
< s:text name = " main.title " />
<!-- Third Examlpe -->
< s:text name = " i18n.label.greetings " >
< s:param > Mr Smith </ s:param >
</ s:text >
14、<s:iterator>
用于迭代集合中的内容,常与<s:property>和<s:if>/<s:elseif>/<s:else>一起使用。示例代码如下:
< tr class = " <s:if test= " #status.even " >even</s:if><s:else>odd</s:else> " >
< td >< s:property value = " userid " /></ td >
< td >< s:property value = " username " /></ td >
</ tr >
</ s:iterator >
此处没有列出各标签的全部属性,此处列出的属性均为常用属性,如需获得更详细的信息可以参考官方文档。程序均亲自调试过,如有问题,请留言。