`
zpball
  • 浏览: 917120 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在web.xml中无法配置<taglib>的问题

    博客分类:
  • J2EE
阅读更多
自定义标签库时,在web.xml中无法配置<taglib>的问题
原因在于:
servlet 2.3的配置不需要<jsp-config>标签的,  
servlet 2.4容器中<taglib>需要在<jsp-config>中。
(实际上,区分就在web.xml一开时的<web-app version="2.5"...web-app_2_5.xsd里,这里的2.5就代表2.5的版本)

完整的例子是孙卫琴的《Tomcat与Java Web开发技术详解》中的第二章:创建和发布web应用中,2.2.7 部署JSP Tag Library。
在web应用中可以加入Tag Library(标签库)。Tag Library向用户提供了自定义JSP标签的功能。以下一个例子就是自定义了一个标签库mytaglib。将<mm:hello/>解析为"hello"。

(1)编写处理hello标签的类HelloTag.java:
package mypack; 
import java.io.PrintWriter; 
import javax.servlet.jsp.JspException; 
import javax.servlet.jsp.JspTagException; 
import javax.servlet.jsp.tagext.TagSupport; 
public class HelloTag extends TagSupport { 
public void HelloTag() 
{   } 

//Method called when the closing hello tag is encountered 
public int doEndTag()throws JspException 
{ 
try 
{ 
   pageContext.getOut().print("Hello"); 
}catch(Exception e) 
{ 
   throw new JspTagException(e.getMessage()); 
} 
//this tag does not support a Tag Body(仅仅是<mm:hello/>,无标签体),so we return SKIP_BODY 
return SKIP_BODY; 
} 
public void release() 
{ 
//Call the parent's release to release any resources used by the parent tag.This is just good practice for when you start creating hierarchies of tags 
super.release(); 
} 
} 

(2) 创建Tag Libraray的描述文件mytaglib.tld文件,在这个文件中定义mytaglib标签库和hello标签。这个文件存放的位置为/WEB-INF/mytaglib.tld。
<?xml version="1.0" encoding="utf-8"?> 
<taglib> 
<tlibversion>1.0</tlibversion> 
<jspversion>1.1</jspversion> 
<shortname>mytaglib</shortname> 
<uri>/mytaglib</uri> 
<tag> 
<name>hello</name> 
<tagclass>mypack.HelloTag</tagclass> 
<bodycontent>empty</bodycontent> 
<info>Just Says Hello</info> 
</tag> 
</taglib> 

(3)在web.xml文件中加入<taglib>元素:这里会出错,说不能识别<taglib>原因一开始已经讲了。
<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <jsp-config>-------------------
如果是servlet 2.4,这个标签要加,否则不加也对 
   <taglib> 
     <taglib-uri>/mytaglib</taglib-uri> 
     <taglib-location>/WEB-INF/mytaglib.tld</taglib-location> 
   </taglib> 
</jsp-config> 
</web-app> 


<taglib>中包含两个属性<taglib-uri>和<taglib-location>。<taglib-uri>指定Tag Library标示符;<taglib-location>指定Tag Library的描述文件tld的位置。

(4)在web应用中加入hello标签(hello.jsp)
<%@ tablib prefix="mm" uri="/mytaglib"%>------这句必须,并且prefix的参数mm是随便取的。
<html> 
<head><title>helloapp</title></head> 
<body> 
<b><mm:hello/>:lin!</b> 
</body> 
</html> 
网页结果为:hello:lin!

分享到:
评论

相关推荐

    web.xml配置文件详解

    ### web.xml配置文件详解 #### 一、概述 `web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其...

    web.xml文件中各个标签的介绍

    例如:&lt;listener&gt;&lt;listener-class&gt;监听类在 web 工程中的路径(com.test.onlineListener)&lt;/listener-class&gt;&lt;/listener&gt; 8. Servlet servlet 元素用于定义 servlet,包括 servlet 名称、servlet 类路径和加载顺序。...

    web.xml加入taglib报错

    这篇博客讨论的是如何解决在`web.xml`中配置`taglib`时遇到的问题,以及相关的Java Web开发知识。 首先,`taglib`是JSP标签库的定义,用于引入自定义标签或标准标签库,如JSTL(JavaServer Pages Standard Tag ...

    web.xml配置详解

    web.xml 配置详解 web.xml 配置文件是 Java Web 应用程序的核心配置文件之一。它用于配置 Web 应用的各种参数和元素,以便...17. 应用图标:&lt;icon&gt; 元素用于配置 Web 应用的图标,该图标将出现在 IDE 和 GUI 工具中。

    无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl

    在web.xml配置文件中,我们需要正确引用这些TLD文件,以便Web容器(如Tomcat)能识别并加载JSTL库。 描述中提到的解决方案是提供了一个压缩包,包含`lib`和`tld`两个文件夹。`lib`文件夹通常用于存放应用所需的JAR...

    Web.xml常用元素

    通过以上元素的详细解释,我们可以看出`Web.xml`文件在Java Web开发中扮演着至关重要的角色,它不仅定义了应用程序的基本结构,还提供了灵活的配置选项来满足不同的需求。理解和掌握这些元素的使用,对于构建高效、...

    J2EE中关于web.xml文件的配置

    在 J2EE 中,web.xml 文件扮演着非常重要的角色,它是一个基于 XML 的配置文件,用于描述 Web 应用的各个方面的配置信息。通过 web.xml 文件,我们可以对 Web 应用进行配置,例如设置应用程序的名称、描述、过滤器、...

    J2EE中关于web.xml文件的配置[文].pdf

    14. **&lt;taglib&gt;**: 用于指定TLD(Tag Library Descriptor)文件的URI,允许在JSP中使用自定义标签库。 15. **&lt;resource-env-ref&gt;**: 声明与资源环境相关的管理对象,比如数据库连接池。 16. **&lt;resource-ref&gt;**: ...

    web.xml详细说明

    `web.xml`是Java Web应用程序中的核心配置文件,用于描述和配置Web应用程序的各种属性、组件及其行为。本文档将详细解析`web.xml`中的各个元素及其功能,帮助开发者更好地理解和使用该文件。 #### 二、常用元素及其...

    Tomcat web.xml,server.xml中详细配置说明文档

    在`server.xml`中,你还可以配置Context,它定义了每个Web应用的特定属性,比如: ```xml &lt;Context path="/myApp" docBase="path/to/myApp" debug="0" reloadable="true"&gt; &lt;!-- Additional config options --&gt; &lt;/...

    Web.xml配置详解

    ### Web.xml配置详解 #### 一、Web.xml概述 `web.xml` 文件是Java Web应用程序的核心配置文件之一,主要用于配置应用程序级别的各种初始化参数、监听器、过滤器、Servlet映射等。通过`web.xml`,开发者可以灵活地...

    J2EE中关于web.xml文件的配置.pdf

    此外,`web.xml`文件还可以包含`&lt;icon&gt;`元素来设置Web应用的图标,以及`&lt;distributable&gt;`元素来表明应用是否可以在集群环境中分布式部署。通过这些配置,开发者能够精确地控制Web应用的行为,使其符合项目需求和安全...

    web.xml配置文件详解[文].pdf

    12. `&lt;security-role&gt;`: 定义Web应用的安全角色,这些角色可以在`tomcat-users.xml`中分配给用户。 13. `&lt;login-config&gt;`: 配置Web应用的认证机制,如`BASIC`或`DIGEST`认证。`&lt;auth-method&gt;`指定使用的认证方法。 ...

    web.xml配置详解, web.xml web.xml 配置实例

    在 web.xml 文件中,第一个元素是 XML 头,用于声明 XML 版本和字符编码。紧接着是 DOCTYPE 声明,用于指定 Servlet 规范的版本和文档类型定义(DTD)。最后是 web-app 元素,作为根元素,包含了所有其他元素。 ...

    常用的实用的web.xml

    以上是web.xml配置文件中的主要元素,它们共同构成了Web应用的基础框架,使得开发者能够灵活地控制和配置应用的行为。了解并熟练掌握这些元素对于进行Java Web开发至关重要。在实际应用中,根据项目需求,开发者会...

    一篇关于web.xml配置的详细说明

    【web.xml配置详解】 在Java Web开发中,`web.xml`是Web应用程序的部署描述符,它是服务器理解和运行Web应用的关键配置文件。本文将详细解释`web.xml`配置的各个方面,帮助开发者更好地理解和掌握其使用。 1. **...

    web.xml 详解

    14. `&lt;taglib&gt;` - 为JSP页面中的标记库描述符文件指定别名。 15. `&lt;resource-env-ref&gt;` - 声明与资源相关的管理对象。 16. `&lt;resource-ref&gt;` - 声明资源工厂使用的外部资源。 17. `&lt;security-constraint&gt;` - 指定受...

Global site tag (gtag.js) - Google Analytics