`
jeelee
  • 浏览: 637639 次
  • 性别: 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配置文件详解

    `web.xml`文件的最外层标签为`&lt;web-app&gt;`,所有的配置项都需要定义在这个标签内,并且遵循一定的顺序。以下是对`web.xml`主要配置项的详细介绍: #### 三、配置项详解 1. **&lt;display-name&gt;**:该标签用于指定Web...

    web.xml详细说明

    - **作用**:定义标签库描述符(TLD)文件的别名,方便在JSP页面中使用自定义标签。 - **示例**: ```xml &lt;taglib&gt; &lt;taglib-uri&gt;http://example.com/mytags&lt;/taglib-uri&gt; &lt;taglib-location&gt;/WEB-INF/mytags....

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

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

    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....

    jsp自定义标签实例

    &lt;taglib-location&gt;/WEB-INF/tlds/helloworld.tld&lt;/taglib-location&gt; &lt;/taglib&gt; &lt;/jsp-config&gt; &lt;/web-app&gt; ``` 这段代码指定了一个标签库的位置和URI,使得JSP页面可以通过指定的URI来使用该标签库中的标签。 ###...

    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自定义标签是一个很好...

    Java程序调试与错误收集--非代码引起的报错

    - 修改`web.xml`文件中的`&lt;jsp-config&gt;`部分,确保所有必需的JSTL标签库都已正确配置,参考示例: ```xml &lt;jsp-config&gt; &lt;taglib&gt; &lt;taglib-uri&gt;http://java.sun.com/jstl/fmt&lt;/taglib-uri&gt; &lt;taglib-location&gt;/...

    解决IDEA中Maven项目中JSTL标签无效问题

    在使用IntelliJ IDEA开发基于Maven的Web项目时,开发者可能会遇到JSTL(JavaServer Pages Standard Tag Library)标签在JSP页面中无法正常工作的问题。JSTL是一组支持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...

    jsp 自定义标签

    4. **在JSP文件中引入标签库并插入标签**:使用`&lt;%@ taglib %&gt;`指令在JSP页面中引入自定义标签库,然后像使用内置标签一样使用自定义标签,例如`&lt;mm:hello/&gt;`。 #### 四、JSP Tag API与TagSupport类 当Servlet容器...

    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表达式的结果转换为字符串并输出到...

Global site tag (gtag.js) - Google Analytics