`
jeelee
  • 浏览: 631255 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

<taglib>标签在web.xml文件中报错解决方法

阅读更多
配置web.xml文件时,taglib标签报错,但不会影响程序的运行,web.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>testSitemesh</display-name>
    <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <taglib>
        <taglib-uri>sitemesh-decorator</taglib-uri>
        <taglib-location>/WEB-INF/sitemesh-decorator.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>sitemesh-page</taglib-uri>
        <taglib-location>/WEB-INF/sitemesh-page.tld</taglib-location>
    </taglib>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

其中的taglib标签加入后,eclipse报错,内容如下:

cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'. One of '{"http://java.sun.com/xml/ns/j2ee":description, "http://java.sun.com/xml/ns/j2ee":display-name, "http://java.sun.com/xml/ns/j2ee":icon, "http://java.sun.com/xml/ns/j2ee":distributable, "http://java.sun.com/xml/ns/j2ee":context-param, "http://java.sun.com/xml/ns/j2ee":filter, "http://java.sun.com/xml/ns/j2ee":filter-mapping, "http://java.sun.com/xml/ns/j2ee":listener, "http://java.sun.com/xml/ns/j2ee":servlet, "http://java.sun.com/xml/ns/j2ee":servlet-mapping, "http://java.sun.com/xml/ns/j2ee":session-config, "http://java.sun.com/xml/ns/j2ee":mime-mapping, "http://java.sun.com/xml/ns/j2ee":welcome-file-list, "http://java.sun.com/xml/ns/j2ee":error-page, "http://java.sun.com/xml/ns/j2ee":jsp-config, "http://java.sun.com/xml/ns/j2ee":security-constraint, "http://java.sun.com/xml/ns/j2ee":login-config, "http://java.sun.com/xml/ns/j2ee":security-role, "http://java.sun.com/xml/ns/j2ee":env-entry, "http://java.sun.com/xml/ns/j2ee":ejb-ref, "http://java.sun.com/xml/ns/j2ee":ejb-local-ref, "http://java.sun.com/xml/ns/j2ee":service-ref, "http://java.sun.com/xml/ns/j2ee":resource-ref, "http://java.sun.com/xml/ns/j2ee":resource-env-ref, "http://java.sun.com/xml/ns/j2ee":message-destination-ref, "http://java.sun.com/xml/ns/j2ee":message-destination, "http://java.sun.com/xml/ns/j2ee":locale-encoding-mapping-list}' is expected.

解决方法有两个:

1、把<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

这句改成<web-app >

解 释:在jsp2.0中,且2.4版的DTD验证中,初步估计是由于eclipse在部署时,未对web.xml进行一些校验,而jbuilder则进行了 校验,并除非不合法的描述符,而taglib描述符,正确写法是放到<jsp-config></jsp-config>描述符 中。

2、在taglib外面加个jsp-config标签:

<jsp-config>
  <taglib>
    <taglib>
        <taglib-uri>sitemesh-decorator</taglib-uri>
        <taglib-location>/WEB-INF/sitemesh-decorator.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>sitemesh-page</taglib-uri>
        <taglib-location>/WEB-INF/sitemesh-page.tld</taglib-location>
    </taglib>
</jsp-config>

<jsp-config>标签使用详解:
<jsp-config> 包括<taglib> 和<jsp-property-group> 两个子元素。
   
其中<taglib>元素在JSP 1.2时就已经存在;而<jsp-property-group>是JSP 2.0 新增的元素。
<jsp-property-group>元素主要有八个子元素,它们分别为:
1.<description>:设定的说明;
2.<display-name>:设定名称;
3.<url-pattern>:设定值所影响的范围,如:/CH2 或 /*.jsp;
4.<el-ignored>:若为true,表示不支持EL 语法;
5.<scripting-invalid>:若为true,表示不支持<% scripting %>语法;
6.<page-encoding>:设定JSP 网页的编码;
7.<include-prelude>:设置JSP 网页的抬头,扩展名为.jspf;
8.<include-coda>:设置JSP 网页的结尾,扩展名为.jspf。
分享到:
评论

相关推荐

    web.xml加入taglib报错

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

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

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

    基于MyEclipse搭建maven+springmvc整合图文教程(含源码0

    使用Maven POM editor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入spring-web,就会自动搜索关于spring-web相关的jar包,我们选择3.0.5版本的spring...

    jstl.jar和standard.jar 报错Can not find "http://java.sun.com/jsp/jstl/

    3. **配置Web.xml**:对于某些Web容器(如Tomcat),可能还需要在`WEB-INF/web.xml`配置文件中显式声明JSTL库。例如: ```xml &lt;web-app&gt; ... &lt;taglib&gt; &lt;taglib-uri&gt;http://java.sun.com/jsp/jstl/core&lt;/taglib-...

    Struts2 框架搭建(基本)和几个报错问题

    3. **配置Web.xml**:在`WEB-INF`目录下的web.xml文件中,添加Struts2的过滤器配置: ```xml &lt;filter&gt; &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;filter-class&gt;org.apache.struts2.dispatcher.filter....

    ssh框架错误总结

    SSH框架错误总结 ...解决方法:添加JSTL相关的JAR包,例如jstl.jar,并在web.xml文件中添加相关配置信息,例如&lt;taglib&gt;标签。 本文总结了SSH框架常见的错误和解决方法,为开发者提供了快速解决问题的参考。

    Eclipse中使用jstl所需jar包和tld文件

    - 创建tld文件后,将其放在WEB-INF目录下,并在web.xml中添加对应的`taglib`元素,类似上面配置JSTL的方式。 5. **使用自定义标签**: - 在JSP页面中,使用`&lt;%@ taglib ... %&gt;`引入自定义标签库,并在页面上使用...

    java实现文件上传和下载

    我们可以使用 `&lt;s:download&gt;` 标签来下载文件。 总结 在本文中,我们使用 Struts2 框架实现了文件上传和下载的功能。这是一个非常简单的示例,但是它可以满足大多数的文件上传和下载需求。在实际开发中,我们可以...

    jsp中报c标签错误时导包

    3. **配置web.xml**:在`WEB-INF`目录下的`web.xml`文件中,你需要配置JSTL的标签库解析器。在`&lt;web-app&gt;`标签内添加以下内容: ```xml &lt;taglib&gt; &lt;taglib-uri&gt;http://java.sun.com/jsp/jstl/core&lt;/taglib-uri&gt; ...

    js包.rarMyEclipse 出错提示 Can not find the tag library descriptor for "http://java.s

    如果你的项目是Maven项目,也可以通过在pom.xml文件中添加JSTL依赖来自动管理这些库,这样可以确保项目在其他环境中也能正常运行。 ```xml &lt;dependency&gt; &lt;groupId&gt;javax.servlet.jsp.jstl&lt;/groupId&gt; &lt;artifactId&gt;...

    JSP自定义标签 eclipse项目

    在传统的JSP开发中,我们通常使用内置标签,如`&lt;jsp:include&gt;`或`&lt;c:forEach&gt;`,但当需要实现特定业务逻辑或复杂功能时,自定义标签就显得尤为重要。 创建一个**Eclipse项目**来学习和实践JSP自定义标签是一个很好...

    权限标签的设计jsp标签

    在`web.xml`中,我们需要声明TLD文件的位置,以便JSP引擎能够找到并解析自定义标签。`jsp-config`部分的`taglib`元素指定了标签库的URI和TLD文件的路径。 4. **测试页面**: 在`test.jsp`中,首先引入了`...

    JSTL 发生jar包错误

    JSTL 标签 发生 uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application问题时解决方法

    tomcat5.5缺少jar包

    4. **检查web.xml**:确认`web.xml`配置文件中是否正确配置了JSTL的标签库,例如: ```xml &lt;taglib&gt; &lt;taglib-uri&gt;http://java.sun.com/jsp/jstl/core&lt;/taglib-uri&gt; &lt;taglib-location&gt;/WEB-INF/tld/c.tld&lt;/taglib...

    jstlhe standard的jar

    描述中提到的“解决&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt;报错”,这指的是在JSP页面导入JSTL Core库时可能出现的问题。`&lt;%@ taglib ... %&gt;`是JSP指令,用于引入标签库,`uri`定义了标签...

    jsp学堂课程(上)

    %&gt;`:声明变量和方法,这部分代码在服务器端执行,可以定义类级别的变量。 - `&lt;%= ... %&gt;`:输出表达式的结果到客户端。 5. **JSP 表达式**: - `&lt;%= expression %&gt;`:将Java表达式的结果转换为字符串并输出到...

    jstl1.2标签库jar包

    在运行时,Web应用服务器需要这个JAR来执行在JSP页面中使用的JSTL标签。`jstl-impl-1.2.jar`包含了处理表达式语言(EL, Expression Language)、核心标签库(Core)、函数库(Function)、国际化(fmt)以及SQL操作...

    JavaEE考试题.doc

    16. **应用初始化参数**:在web.xml中通过`&lt;context-param&gt;`定义,`getInitParameter`和`getInitParameterNames`方法用于读取。 17. **处理请求的方法**:`doGet`和`doPost`是Servlet中处理客户端HTTP请求的主要...

    jsp-api-2.1.jar

    4. **JSP动作**:如 `&lt;jsp:include&gt;`、`&lt;jsp:forward&gt;`、`&lt;jsp:plugin&gt;` 等,它们用于在运行时动态地插入内容或执行特定操作。 5. **JSP内置对象**:如 request、response、session、application、pageContext、out...

    出现几率最高和覆盖范围最广的一套经典Java面试题.docx

    16. **Taglib**:JSP标签库,用于扩展JSP功能,提供自定义标签,如Struts的标签库。 17. **JavaScript数字校验**:JavaScript提供`isNaN()`函数判断是否为非数字,`parseInt()`和`parseFloat()`转换为整数或浮点数...

Global site tag (gtag.js) - Google Analytics