`
yuhuizheng527
  • 浏览: 2084 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Struts 中用Html 标签库的用法(第一部分)

阅读更多
Struts提供了一个强大的HTML标签库来帮助你构建Web应用程序。
by Budi Kurniawan
为了更容易、更快速地进行开发,Struts提供了功能同其它JSP标签库类似的五个标签库,即:HTML、Bean、Logic、Template和Nested。。第一部分讲述如何配置一个Struts应用程序来运用这个标签库,并介绍了第一组标签;第二部分讲述了第二组标签;

HTML标签库主要用来显示HTML元素,如果不用这种方法,你就必须用HTML标签来指定它们。从表面上看,这个标签库很简单。但是通过深入研究,我们就会发现它很强大。例如,它可以为我们在HTML表单的一个特定输入元素中放置重点内容生成JavaScript,或为客户端输入验证生成脚本。而且,你可以用它通过一行代码来处理错误。然而,在将这个标签库用于你的Struts应用程序前,你需要做些简单的准备工作。

配置应用程序来运用标签库
在运用Struts HTML标签库前,你需要通过三个步骤来配置一个Struts应用程序。

1. 在部署描述符(web.XML文件)中注册标签库:   <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>


上面的代码就告诉了Servlet container有关Struts HTML标签库的情况,以及在哪里可以找到标签库的TLD文件。

2. 确信将struts-html.tld文件复制到WEB-INF目录中。你不用担心标签库类文件,因为它们已经包含在struts.jar文件中了。

3. 在运用标签库的每个JSP页面中,插入下面的<taglib>指示符: <%@ taglib uri=\"/WEB-INF/struts-html.tld\"
prefix=\"html\" %>



另外,你也可以运用struts-html.tld文件来学习它所支持的标签以及每个标签可以带有哪些属性。

运用一个自定义的标签库通常是很容易的:只要遵循前面讲述的步骤就行了。然而,有些标签库包含一些原则,这些原则使我们在运用这些标签库时并不那么容易。Struts HTML标签库就是其中之一。有些标签很简单、很容易使用;然而,另外有些标签则取决于Struts应用程序中的其它标签或其它元素。

我将HTML标签库中的标签大致分成了两类:简单、容易使用的标签,我把它们称为“独立的标签”,第二类是必须通过一个form标签来使用的标签。我把第二类的标签简单地称为与form相关的标签。本文主要讲述独立的标签,在本系列文章的第二部分我将讲述与form相关的标签。

HTML标签库包含几个很容易使用的独立的标签。下面讲述几个比较重要的标签。

<html>标签
<html>标签是HTML标签库中最容易的标签。它有两个属性:locale和xhtml,两者都不是必需的。下面的代码选自一个运用<html>标签的JSP页面: <%@ taglib uri=\"/WEB-INF/struts-html.tld\" prefix=\"html\" %>
<html:html locale=\"true\">
<head>
<title>Welcome</title>
</head>

<body>
Hello World!
</body>
</html:html>


注意,我们没有用标准的<html>元素,而是用了<html:html>标签。其中第一个html指的是前缀,第二个是<html>标签本身。而且我们也用了locale属性。JSP页面将显示成: <html lang=\"en\">
<head>
<title>Welcome</title>
</head>
<body>
Hello World!
</body>
</html>

注意,<html:html locale=“true”>中的locale属性在生成的HTML页面中被转换成了lang=“en”。生成的结果取决于Struts应用程序所位于的服务器的locale。如果你将应用程序部署到一个不同locale的服务器,你不需要改变代码。Locale会自动调整。

<base>标签
<base>标签显示一个HTML元素,用一个href属性表示所包含的JSP页面的绝对位置。只有当这个标签是内嵌在一个head标签部分时,它才有效。例如这个JSP页面: <%@ taglib uri=\"/WEB-INF/struts-html.tld\" prefix=\"html\" %>
<html:html locale=\"true\">
<head>
<title>Welcome</title>
<html:base/>
</head>
<body>
Hello World!
</body>
</html:html>


会转换成以下形式: <html lang=\"en\">
<head>
<title>Welcome</title>
<base href=\"http://www.domain.com/myStrutSAPp/testing.jsp\">
</head>
<body>
Hello World!
</body>
</html>


<img>标签
<img>标签用来生成一个HTML <IMG>标签。它最重要的属性有:  · page:图象文件相对于模块的路径;前面必须带有一个斜线。
· height:图象的高度。
· width:图象的宽度。
· alt:如果找不到图象,显示的文本。

例如: <html:img page=\"/logo.gif\" height=\"50\"
width=\"200\" alt=\"Company Logo\"/>

会转换成: <img src=\"/myStrutsApp/logo.gif\" height=\"50\"
width=\"200\" alt=\"Company Logo\">

<link>标签
<link>标签会生成一个超链接。例如标签: <html:link page=\"/index.html\">Click
here</html:link>

会转换成: <a href=\"/myStrutsApp6/index.html\">Click here</a>

<errors>标签
<errors>标签的易于使用性通常会掩盖其真正的强大功能。通过一个简单的<html:errors/>标签,你就可以在一个JSP页面上显示完全自定义的错误信息。

这个标签检查Request对象的属性集合来查找一个reserved key。如果它找到一个reserved key,它就假设这个key是一个String、或是一个String数组(它包含在模块的MessageResources中查找的message keys)、或是类型为org.apache.struts.action.ActionErrors的一个对象。

如果在应用程序资源中存在相应的信息,那么就可以用下面这些可选的message keys:  · errors.header:相应的信息在错误信息的单独列表前显示。
· errors.footer:相应的信息在错误信息的单独列表后显示。
· errors.prefix:相应的信息在错误信息的单独列表前显示。
· errors.suffix:相应的信息在错误信息的单独列表后显示。

Struts HTML标签库会使开发更容易、更快速。为了有效地运用这个标签库,你需要对标签库中的标签很熟悉。在本系列文章的第一部分中,你学习了如何配置一个Struts应用程序来运用标签库,并对独立的标签有了总体的了解。在第二部分中,你将学习与form相关的标签;
分享到:
评论

相关推荐

    Struts 中用Html 标签库的用法(第一部分).rar

    本篇文章将深入探讨Struts中Html标签库的用法,主要分为以下几个方面: 1. **HTML标签库的引入** 在JSP页面中,我们首先需要引入Struts的HTML标签库。这通常通过在页面顶部添加以下指令来完成: ```jsp ...

    struts2第一源代码11

    Struts2的第一天源代码是学习这个框架的基础,通过深入理解源代码,我们可以更好地掌握其工作原理和使用方法。 首先,让我们了解一下Struts2的核心概念: 1. **Action**:在Struts2中,Action是业务逻辑的载体,...

    struts从入门到精通.doc

    #### 第1章 Struts概述 - **1.1 JSP Framework - Struts介绍** - **Struts**是Apache组织开发的一个开源MVC(Model-View-Controller)架构框架,主要用于简化Java Web应用的开发。它通过将业务逻辑、展示逻辑和...

    struts-2.3.16.1-docs.zip

    1. **快速入门**:这通常是一份简明教程,帮助开发者快速了解Struts2的基本概念和配置,如Action、Result、Interceptor等,并指导如何搭建第一个运行的Struts2应用。 2. **使用文档**:这部分详细介绍了如何在实际...

    struts2权威指南第4章第4.3-4.5节代码

    同时,这一节也可能讨论了Struts2与各种视图技术如JSP、FreeMarker或Velocity的集成,以及如何利用Struts2的标签库来简化视图的开发。 通过学习这些章节的代码示例,开发者能够更深入地理解Struts2框架的工作原理,...

    struts-2.3.28.1 jar包

    Struts 2.3.28.1 是一个流行的Java Web框架Apache Struts的特定版本。这个框架主要用于构建和维护可扩展...开发者在使用时,不仅需要掌握框架的基础概念和用法,还需要对Java Web开发、MVC模式以及相关库有深入的理解。

    struts2权威指南.

    在这个过程中,你会了解到.struts2-default.properties文件的作用,以及如何使用Struts2的标签库简化JSP页面的编写。 第三章,Struts2的基础,进一步深入讲解Struts2的核心概念和技术。这包括Action的配置与执行,...

    Struts2新手资料

    第一章 Struts2入门:这一章介绍了Struts2的基本概念,包括MVC模式在Struts2中的实现,以及如何搭建Struts2的开发环境。你将学习到如何创建第一个Struts2应用,配置struts.xml文件,理解Dispatcher Servlet的工作...

    Struts2教程汇总

    ”应用,到展示如何使用Struts2的标签库来构建动态网页。此外,它可能还会讨论Maven或者Gradle构建工具的集成,以及如何利用Struts2的插件进行单元测试。 "struts2_base入门实例源代码.rar"则提供了实际的源代码...

    Struts2学习笔记2012

    5. **编写第一个示例程序:** - 在`struts.xml`文件中添加如下配置: ```xml &lt;struts&gt; &lt;constant name="struts.devMode" value="true"/&gt; &lt;package name="default" namespace="/" extends="struts-default"&gt; ...

    传智播客Struts2学习资料

    1. **Hello World示例**:最基本的Struts2应用,展示如何创建第一个Action,处理请求并返回结果。 2. **表单验证**:使用Struts2的验证框架对用户输入进行校验。 3. **文件上传下载**:实现文件的上传和下载功能,...

    ACCP7使用Struts2开发租房系统之二

    这一章主要讲解如何将Struts2与JSP页面进行集成,利用Struts2标签库简化视图层的开发。例如,使用s:form、s:textfield等标签来创建表单,s:actionexecute来执行Action方法。同时,会介绍ognl表达式,它是Struts2中用...

    structs程序设计从入门到精通word文档

    - **Validator框架和Struts客户化标签**:介绍了Validator框架与Struts自定义标签的结合使用方法。 - **在Validator框架中使用JavaScript**:说明了如何在前端使用JavaScript进行初步的数据验证,以减轻服务器端的...

    struts2权威指南第6章第6.2节代码

    Struts2是Apache软件基金会开发的一个开源MVC框架,它基于Model-View-Controller(模型-视图-控制器)设计模式,旨在简化Java Web应用程序的开发。本节将深入探讨Struts2框架的核心特性,以及如何在实际项目中有效地...

    struts2学习基础

    - **页面修饰和布局**:Struts2提供了丰富的标签库,可以帮助开发者实现页面的修饰和布局。 - **业务服务/依赖注入**:Struts2可以与其他框架(如Spring)集成,实现依赖注入等功能。 - **数据库**:Struts2可以通过...

    Struts2 权威指南02

    综上所述,《Struts2 权威指南》的第二部分可能涉及上述这些关键概念的详细讲解和实例演示,帮助读者深入学习和掌握Struts2框架的使用,提升Java Web开发能力。通过阅读和实践书中的源代码,开发者能更好地理解...

    struts练习

    Struts2是其第二代版本,极大地改进了第一代的设计,提供了更强大的功能和更好的灵活性。这个“struts练习”标题暗示我们将探讨Struts2框架的基础知识、核心概念以及如何通过实践来提升对它的理解。 在描述中提到的...

    JSP JDBC WEB STRUTS 分页综合实例3

    【综合实例3】这可能意味着这是一个系列教程或案例研究的第三部分,前两部分可能已经涵盖了基础概念和简单实现,而第三部分则可能涉及更复杂的情况,如优化性能、处理异常、或者集成更多的功能。 在这个实例中,...

    struts2中英帮助文档合集

    7. **插件和第三方库**:列出常见的Struts2插件,如Tiles、Freemarker、i18n国际化支持等,以及如何集成和使用它们。 英文文档则更为详尽,可能包括以下高级话题: 1. **Advanced Interceptors**:深入讲解预定义...

Global site tag (gtag.js) - Google Analytics