Struts2.0 标签学习
1.引入 Struts 标签的原因
使用标志(Tag)的一个目的就是避免在 JSP 页面中出现过多的<%%>的语句,使页面与后
台代码分离。”
2.如何引入
要在 JSP 中使用 Struts 2.0 标志,先要指明标志的引入。通过在 JSP 的代码的顶部加入以下
代码: <%@taglib prefix="s" uri="/struts-tags" %>
3 表达式语言的优势
避免(MyType)request.getAttribute()和 myBean.getMyProperty()之类的语句,使页面更简洁;D
支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能; D
简单明了地表达代码逻辑,使用代码更可读与便于维护。D
4.Struts2 中支持的表达式语言
OGNL(Object-GraphNavigationLanguage),可以方便地操作对象属性的开源表达式语言
D
JSTL(JSPStandardTagLibrary), JSP2.0 集成的标准的表达式语言;D
Groovy,基于 Java 平台的动态语言,它具有时下比较流行的动态语言(如 Python、Ruby
和 Smarttalk 等)的一些起特性;D
Velocity,严格来说不是表达式语言,它是一种基于 Java 的模板匹配引擎,具说其性能要比
JSP 好。D
Struts2 默认的表达式语言是 OGNL
Struts2 Taglib 抽象了不同表示技术,现在 Struts2 主要支持三种表示技术:
JSP,FreeMarker 和 Velocity。但部分的 Tag 在三种表示技术下都可以使用,但是也有
部分只能在某一种情况下使用。
Struts 2 框架的标签库可以分为以下 3 类。
用户界面标签(UI 标签):主要用来生成 HTML 元素的标签。
非用户界面标签:主要用于数据访问、逻辑控制等。
AJAX 标签:AJAX 是 Web 2.0 阶段系列技术和相关产品服务中非常重要的一种技
术,其全称是异步 JavaScript 和 XML(即 Asynchronous JavaScript and XML)。该
标签用来支持 AJAX 技术。
其中,用户界面标签(UI 标签),可以分为下面两类。
表单标签:表单标签主要用于生成 HTML 页面的 Form 元素,以及普通表单元素的
标签。
非表单标签:非表单标签主要用于生成页面上的 tree、Tab 页等。
非界面标签,即非 UI 标签,也可以分为以下两类。
数据访问标签:主要包含用于输出值栈(ValueStack)中的值、完成国际化等功能
的标签。
流程控制标签:主要包含用于实现分支、循环等流程控制的标签。
Struts 2 框架的标签库可以按照如图 9.1 所示分类。