Strut 2的标签库

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),因此功能非常强大。