`
黑暗浪子
  • 浏览: 507860 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2讲义24

阅读更多

 

5.6   Struts2 非表单标签简介

除了表单标签之外, Struts2 也提供了很多显示可视化控件的标签,甚至还允许开发人员自定义自己的控件标签。因为这些标签分类比较难,所以又通通归类为非表单标签。对于这些标签中,笔者将自己认为对实际开发工作很有帮助的标签也作一具体介绍。

5.6.1   主题和模板介绍

技术要点

在介绍非表单标签前,有必要介绍 Struts2 中主题和模板这两个概念,因为非表单标签很多都是涉及到 AJAX 技术或除了 JSP 视图外 freemarker velocity 视图技术。在 Struts2 中定义了一些主题和模板来方便开发者使用非表单标签,而又无缝的结合上述几种技术。在这里笔者对它们作一简单介绍,希望读者可以领会这些概念。

主题和模板使用。

Struts2 中主题和模板使用原理。

演示代码

使用主题的 JSP 文件:

<!---------文件名:login.jsp---------->
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
         <title>登录页面</title>
         <s:head/>
</head>
<body>
         <s:form action="Login" theme="simple">
        <table width="60%" height="76" border="0">
                <s:textfield name="username" label="用户名"/>
                <s:password name="password" label="密  码" />
                <s:submit value="登录" align="center"/>              
        </table>
    </s:form>
    <s:form action="Login" >
        <table width="60%" height="76" border="0">
                <s:textfield name="username" label="用户名"/>
                <s:password name="password" label="密  码" />
                <s:submit value="登录" align="center"/>              
        </table>
    </s:form>
         <s:form action="Login" theme="css_xhtml">
                   <table width="60%" height="76" border="0">
                                     <s:textfield name="username" label="用户名"/>
                                     <s:password name="password" label="密  码" />
                                     <s:submit value="登录" align="center"/>                              
                   </table>
         </s:form>
         <s:form action="Login" theme="ajax">
        <table width="60%" height="76" border="0">
                <s:textfield name="username" label="用户名"/>
                <s:password name="password" label="密  码" />
                <s:submit value="登录" align="center"/>              
        </table>
    </s:form>
</body>
</html>
 

 

使用各主题的页面效果图 5.27

 

5.27  主题使用范例图

代码解释

1 )在 Struts2 框架中提供了四种主题。分别为“ simple ”、“ xhtml ”、“ css_xhtml ”、“ ajax ”。其中“ xhtml ”主题是缺省显示的。即不显示定义 theme 属性, Struts2 默认为“ xhtml ”主题。在 JSP 中可以像示例中代码所示使用主题。除了像代码中所示在 form 标签中使用 sheme 属性外。还可以在各个标签中使用 theme 属性。

注意: theme 属性是按照特定顺序来确定主题的。如下:

界面标签( Struts2 中除了数据和控制标签之外其它标签都可归类为界面标签,也称之为 UI 标签)中使用 theme 属性指定主题。

表单标签中使用 theme 属性指定主题。

page 范围内命名中使用 theme 属性指定主题。

request 范围内命名中使用 theme 属性指定主题。

session 范围内命名中使用 theme 属性指定主题。

application 范围内命名中使用 theme 属性指定主题。

struts.propertie struts.xml 文件中定义 struts.uti.theme 常量来指定主题。

页面中定义主题按照上述顺序来定义主题,如果在上述中同时多个定义主题。则以第 1 个为准。比如界面标签中有 theme 属性定义,表单标签中又有 theme 属性定义。则以界面标签中定义的 theme 属性为准。

2 simple 主题只是很简单的生成一些 HTMl 的基本元素。图 5.27 中读者也可以看出没有任何文字说明。只是提供一些基础的文本框、按钮。

3 xhtml 主题是默认缺省显示的。它除了 simple 主题一些功能的显示之外,还提供了错误校验、文字等附加功能。

4 css_xhtml 主题其实和 xhtml 主题功能类似。只是又增加了 css 的一些控制。

5 ajax 主题是在前三个主题上又做了深度扩展。它以 ajax 框架 dojo 为基础,增加了很多有关 ajax 的功能。

注意:使用 ajax 主题的 JSP 页面也需要定义 head 标签。原理之前也已记述,可见前面章节中对 head 标签的解释说明。

6 )模板其实是主题中一个个子元素。即多个模板构成 1 个主题。在 Struts2 的源代码包中可以清晰看见主题和模板的关系。比如在笔者的“ struts2-core-2.0.11.1\template ”路径下有所有主题的目录,单击任一目录,可看见一些后缀名为 ftl 文件。如图 5.28

5.28  ajax 目录下模板文件放置示例图

由于 Struts2 默认模板基于 FreeMarker 视图技术。而它的模板文件都是以“ ftl ”为后缀名。因此可以理解为模板文件默认是 FreeMarker 视图技术。除了 FreeMarker 这个默认视图技术之外,笔者也在第一章介绍过 Struts2 还可以使用 velocity JSP 视图技术。如果读者想使用这两种视图技术,则可以使用后缀名为 vm jsp 的模板文件。通常可以在 struts.propertie struts.xml 文件中定义 struts.uti.templateSuffix 常量来制定使用这三种中哪一个视图技术。赋予该常量的值就是三种视图技术的模板文件后缀名: ftl vm jsp

  • 大小: 61.9 KB
  • 大小: 56.1 KB
分享到:
评论

相关推荐

    struts2讲义 struts2讲义struts2讲义struts2讲义struts2讲义

    ### Struts2讲义知识点概览 #### 一、Struts2的历史与发展 - **Struts框架的发展历程**: - Struts最初版本发布于2000年,是Java Web开发领域的一个重要里程碑。 - 随着时间的发展和技术的进步,Struts逐渐暴露...

    struts2讲义

    ### Struts2框架入门知识点详解 #### 一、Struts2框架概述 ##### 1.1 Struts2简介 Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,用于简化Java Web应用程序的开发过程。与传统的Java Web...

    struts2讲义 DOC版

    struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义

    struts2讲义-详解

    本讲义将详细介绍Struts2的核心概念、工作原理以及如何在实际项目中应用。 一、Struts2简介 Struts2是Apache软件基金会的开源项目,它是Struts1的升级版,旨在解决Struts1在可扩展性和灵活性上的不足。Struts2提供...

    struts2讲义,讲解struts2的框架

    在本讲义中,我们将深入探讨Struts2的基本概念、依赖的库、启动配置以及配置文件。 首先,开发Struts2应用需要依赖一些核心的JAR文件。这些文件包括: 1. `struts2-core-2.x.x.jar`:这是Struts2框架的核心库,...

    原创struts2讲义2.pdf

    ### Struts2框架详解 #### 一、Struts2框架介绍与概述 ##### 1.1 Struts2框架概述 Struts2是一个基于MVC(Model-View-Controller)模式的开源Java Web应用框架,它提供了强大的功能来帮助开发者构建灵活、可扩展...

    《Struts2讲义》吴峻申【电子书】

    第2章 Web基础技术简介第3章 Struts2核心技术第4章 另一Struts2核心技术:拦截器第5章 Struts2标签库第6章 Struts2非JSP视图技术第7章 Struts2类型转换技术第8章 Struts2输入校验第9章 Struts2国际化第10章 Struts2...

    Struts2讲义(Word文档格式)

    本讲义详细介绍了Struts2框架的各个方面,帮助开发者从基础到进阶全面掌握其用法。 1. **Struts2概述** Struts2是Apache软件基金会的开源项目,它继承了Struts1的优点并解决了其局限性,提供了更优秀的行动控制器...

    struts2讲义.doc

    ### Struts2讲义知识点概览 #### 一、Struts2的历史与发展 - **Struts框架的演变**:从Struts1到Struts2,框架经历了从MVC(Model-View-Controller)架构的经典实践到更为灵活、强大的迭代升级。 - **Struts2的...

    struts2 教程 讲义.(pdf)

    本教程讲义深入浅出地介绍了Struts2的核心概念和技术,旨在帮助开发者快速掌握这个框架的使用。 在Struts2中,主要知识点包括: 1. **MVC设计模式**:MVC模式是软件工程中的经典设计模式,它将应用程序分为模型...

    struts2讲义,解析

    这个“struts2讲义”显然提供了一个全面的教程,旨在帮助学习者理解和掌握Struts2的核心概念和技术。以下是Struts2的一些关键知识点: 1. **MVC模式**:Struts2基于Model-View-Controller(MVC)设计模式,它将应用...

    Struts2讲义1

    Struts2讲义1 Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web开发框架,由Apache软件基金会维护。它继承了Struts1的优点,并结合了WebWork框架的功能,提供了更强大的控制层解决方案。Struts2的...

    西安野马计算机培训学校STRUTS2讲义

    西安野马计算机培训学校的STRUTS2讲义,可能涵盖了这一框架的基础知识和高级特性,帮助学员理解和掌握Struts2的核心概念。 首先,Struts2的基础部分可能包括以下几个方面: 1. **架构原理**:讲解Struts2的MVC设计...

    黑暗浪子写的struts2讲义.pdf

    Struts2是Apache软件基金会...总的来说,黑暗浪子的这本Struts2讲义涵盖了Struts2的各个方面,无论对于初学者还是有经验的开发者,都是一个宝贵的参考资料,能帮助读者深入理解和熟练运用Struts2框架,提高开发效率。

    struts2讲义_吴峻申

    Struts2讲义 作者:吴峻申 目录 第1章 Struts过时了吗? 10 1.1 Struts历史发展过程 10 1.2 Struts2的“简历” 13 1.2.1 标签库介绍 13 1.2.2 拦截器应用目的 14 1.2.3 FilterDispatcher和Action概述 14 1.2.4 ...

Global site tag (gtag.js) - Google Analytics