Struts2的模板和主题简介

Struts2 的 UI 标签都是基于模板和主题的。模板就是一些代码,Struts2 标签使用这些代码渲染生成相应的 HTML 代码。模板是一个 UI 标签的外在表现形式,并且每个标签都会有自己对应的模板。如果为所有的 UI 标签提供样式和视觉效果相似的模板,那么这一系列的模板就形成了一个主题。

Struts2 默认提供了四种主题,分别为 simple、xhtml、css_xhtml 和 Ajax,这四种主题的作用如下表所示。

名称 作用
simple 主题 这是最简单的主题,使用该主题时,每个 UI 标签只生成最基本的 HTML 元素,没有任何附加功能。
xhtml 主题 这是 Struts2 的默认主题,它对 simple 主题进行了扩展,提供了布局功能、Label 显示名称以及与验证框架和国际化框架的集成。
css_xhtml 该主题是对 xhtml 的扩展,在 xhtml 的基础之上添加对 CSS 的支持和控制。
Ajax 继承自 xhtml,提供 Ajax 支持。

在上述四种主题中,xhtml 是默认主题,但它有一定的局限性,因为它使用表格进行布局,并且只支持每一行放一个表单项,一旦遇到复杂的页面布局,xhtml 就不再适用了。此时,就需要改变 Struts2 的默认主题。

通常情况下,可以通过设置常量 struts.ui.theme 改变默认主题,具体方法是在 struts.xml 文件中增加相应的配置。例如想要使用 simple 的主题,那么只需要在 struts.xml 中增加如下配置即可。

<constant name="struts.ui.theme" value="simple"/>