Struts 2的标签库也是Struts 2的重要组成部分,Struts 2的标签库提供了非常丰富的功能,这些标签库不仅提供了表现层数据处理,而且提供了基本的流程控制功能,还提供了国际化、Ajax支持等功能。
通过使用Struts 2的标签,开发者可以最大限度地减少页面代码的书写。
看下面的JSP页面的表单定义片段[code]
<!-- 下面定义三个表单域 -->
名字:<input type="text" name="name"/>
<br>
年纪:<input type="text" name="age"/>
<br>
喜欢的颜色:<input type="text" name="favorite"/>
<br>
<!-- 定义一个输出按钮 -->
<input type="submit" value="提交"/>
</form>
[/code]上面页面使用了传统的HTML标签定义表单元素,还不具备输出校验信息的功能,但如果换成如下使用Struts 2标签的定义方式:[code]
<s:form method=“post” action=“basicvalid.action”>
<!-- 下面使用Struts 2标签定义三个表单域 -->
<s:textfield label="名字" name="name"/>
<s:textfield label="年纪" name="age"/>
<s:textfield label="喜欢的颜色" name="answer"/>
<!-- 定义一个提交按钮 -->
<s:submit/>
</s:form>[/code]则页面代码更加简洁,而且有更简单的错误输出。图1.10是上面使用Struts 2标签执行数据校验后的输出。
提示 Struts 2的标签库的功能非常复杂,该标签库几乎可以完全替代JSTL的标签库。而且Struts 2的标签支持表达式语言,这种表达式语言支持一个强大和灵活的表达式语言:OGNL(Object Graph Notation Language),因此功能非常强大。