Struts2 是一个优秀的 MVC 框架,其实现重点主要放在了业务逻辑控制器部分和视图页面部分。控制器部分主要由 Action 提供支持,而视图页面部分则由大量的标签提供支持。
Struts2 的标签库是一个比较完善且功能强大的标签库,它将所有标签都统一到一个标签库中,从而简化了标签的使用;它提供了对主题和模板的支持,极大地简化了视图页面代码的编写;它还提供了对 Ajax 的支持,极大地丰富了视图页面的展示效果。
与 JSTL(JSP Standard Tag Library,JSP标准标签库)相比,Struts2 标签库更加易用和强大。
Struts2 框架对整个标签库进行了分类,按其功能大致可分为两类,如图 1 所示。
图 1 标签分类
从图 1 中可以看出,Struts2 的标签库主要分为两大类:普通标签和 UI 标签。普通标签的主要功能是在页面生成时控制页面代码的执行流程;UI 标签的主要功能是以丰富且可复用的 HTML 文件显示数据。
普通标签又分为控制标签(Control Tags)和数据标签(Data Tags)。控制标签用于完成条件逻辑和循环逻辑的控制,也可用于做集合的操作。数据标签用于输出后台的数据和完成其他数据访问功能。
UI 标签又分为表单标签(Form Tags)、非表单标签(Non-Form Tags)和 Ajax 标签。表单标签主要用于生成 HTML 页面中的表单元素,非表单标签主要用于生成非表单的可视化元素,如输出 Action 中封装的信息等。Ajax 标签主要用于提供对 Ajax 技术的支持。
使用 Struts2 的标签库非常简单,一般只需在 JSP 文件内使用 taglib 指令导入 Struts2 标签库即可,其导入代码如下所示:
在上述代码中,taglib 指令的 uri 属性用于指定引入标签库描述符文件的位置,prefix 属性用于指定引入标签库描述符文件的前缀。在 JSP 文件中,所有的 Struts2 标签都建议使用 s 作为前缀。
在一篇文章讲解 Struts2 标签会导致篇幅过长,所以我们分成四节详细讲解,请大家点击下方链接进行阅读: