Struts 2标签库
Struts 2的标签库大大简化了数据的输出,也提供了大量标签来生成页面效果,同时还能完成一些基本的流程控制功能
Struts 2将所有的标签都定义在URI为/struts-tags的空间下,并未提供严格的标签库分类
OGNL是Struts 2内建的表达式语言,大大加强了Struts 2数据访问功能
标准的OGNL内部会维护一个OgnlContext对象(OGNL上下文),该对象是按了Map接口,OGNL将多个对象放在OgnlContext对象中统一管理,并且多个对象中只有一个对象会被指定为根对象(root)
数据标签主要用于提供各种数据访问的相关功能,包括显示一个action范围内的属性,以及生成国际化输出等功能
Struts 2中的控制标签关注程序的运行流程,比如用if/else来进行分支控制,用iterator来进行循环控制
所谓模板,就是一些代码,在Struts 2中通常是用FreeMarker来编写,标签使用这些代码能渲染生成相应的HTML代码
所谓主题,就是一系列模板的集合。通常情况下,这一些列模板会有相同或类似的风格,这样能保证功能或视觉效果的一致性
在Struts 2中除了基本的HTML标签的定义外,还定义了许多特殊的但又基于上述HTML表单标签个性化的标签
非表单标签主要用于输出在Action中封装的信息,这在开发过程中运用非常普遍
Struts 2标签的分类
- Struts 2将所有的标签都定义在URI为/struts-tags的空间下,并未提供严格的标签库分类。但仍可对其标签根据所实现的功能进行分类,大致分为3类:
- UI(User Interface,用户界面标签)标签,主要用于申城HTML元素的标签
- 非UI标签:主要用于数据访问、逻辑控制的标签
- Ajax标签:用于支持Ajax(Asynchronous JavaScript and XML)的标签