`

web.xml中添加taglib标签后

 
阅读更多
原文地址:http://hi.baidu.com/tediou/blog/item/5d0dce556f7a4a828d5430ca.html

现象为如下的web.xml在Eclipse Helios中出现警告信息

<?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>WebTest</display-name>
<welcome-file-list>
   <welcome-file>index.html</welcome-file>
   <welcome-file>index.htm</welcome-file>
   <welcome-file>index.jsp</welcome-file>
   <welcome-file>default.html</welcome-file>
   <welcome-file>default.htm</welcome-file>
   <welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
   <servlet-name>action</servlet-name>
   <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
   <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
   </init-param>
   <init-param>
    <param-name>debug</param-name>
    <param-value>3</param-value>
   </init-param>
   <init-param>
    <param-name>detail</param-name>
    <param-value>3</param-value>
   </init-param>
   <load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>action</servlet-name>
   <url-pattern>*.do</url-pattern>
</servlet-mapping>
<filter>
   <filter-name>Set Character Encoding</filter-name>
   <filter-class>WebTest.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>Set Character Encoding</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
<taglib>
   <taglib-uri>/tags/struts-bean</taglib-uri>
   <taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location>
</taglib>
<taglib>
   <taglib-uri>/tags/struts-html</taglib-uri>
   <taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location>
</taglib>
<taglib>
   <taglib-uri>/tags/struts-logic</taglib-uri>
   <taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location>
</taglib>
</web-app>
错误信息:
Description Resource Path Location Type
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.
web.xml /WebTest/WebContent/WEB-INF line 41 XML Problem

原因:
在jsp2.0中,且2.4版的DTD验证中,taglib描述符,正确写法是放到<jsp-config></jsp-config>描述符中。

解决办法:
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>,去除验证。

2)按规范,把taglib标签放进jsp-config标签中。如下:
<jsp-config>
   <taglib>
    <taglib-uri>/tags/struts-bean</taglib-uri>
    <taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location>
   </taglib>
   <taglib>
    <taglib-uri>/tags/struts-html</taglib-uri>
    <taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location>
   </taglib>
   <taglib>
    <taglib-uri>/tags/struts-logic</taglib-uri>
    <taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location>
   </taglib>
</jsp-config>
分享到:
评论

相关推荐

    web.xml加入taglib报错

    当我们尝试在`web.xml`中添加`taglib`引用时,可能会遇到一些报错。这篇博客讨论的是如何解决在`web.xml`中配置`taglib`时遇到的问题,以及相关的Java Web开发知识。 首先,`taglib`是JSP标签库的定义,用于引入...

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

    3. **配置web.xml**:打开`WEB-INF/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;/...

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

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

    用web.xml控制Web应用的行为

    通过`&lt;listener&gt;`元素添加监听器,用于监听Web应用生命周期中的特定事件。 15. **J2EE元素** `web.xml`还可以包含J2EE规范定义的其他元素,用于实现更复杂的应用功能,如EJB、JMS、JNDI等。 以上是`web.xml`控制...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    Taglib自定义标签库

    接下来,需要在Web应用的配置文件`web.xml`中声明对标签库的引用。这一步确保服务器能够识别和加载自定义的标签库。 ```xml &lt;taglib&gt; &lt;taglib-uri&gt;/myTag&lt;/taglib-uri&gt; &lt;taglib-location&gt;/WEB-INF/myTag.tld&lt;/...

    使用jstl所依赖的两个包

    之后,你需要在`web.xml`配置文件中配置JSTL的标签库解析器,如下所示: ```xml &lt;web-app&gt; ... &lt;taglib&gt; &lt;taglib-uri&gt;/WEB-INF/c.tld&lt;/taglib-uri&gt; &lt;taglib-location&gt;/WEB-INF/c.tld&lt;/taglib-location&gt; &lt;/...

    pager-taglib分页标签

    - 在项目的`WEB-INF/web.xml`配置文件中,添加`pager-taglib`的标签库定义。这一步是为了让JSP能够识别并使用分页标签。 ### 3. 使用`pager-taglib` - 引入标签库:在JSP页面头部添加`&lt;%@ taglib prefix="pager" ...

    JSTL Taglib 配置

    如果你的项目是Maven或Gradle构建的,需要在pom.xml或build.gradle文件中添加相应的依赖项。 Maven的pom.xml示例: ```xml &lt;groupId&gt;jakarta.servlet.jsp.jstl &lt;artifactId&gt;jakarta.servlet.jsp.jstl-api ...

    ECSide配置实例

    `&lt;taglib&gt;`元素指定了一个TLD文件的位置,即`/WEB-INF/ecside.tld`,这样JSP编译器就能识别并使用ECSide提供的标签。 最后,`welcome-file-list`定义了默认的首页,这里是`index.jsp`。当用户访问Web应用的根路径时...

    FLEX与JSP结合并测试HTTPService与java用XML通信.doc

    然后,在`web.xml`文件中添加一个`&lt;taglib&gt;`元素来注册这个标签库,如下所示: ```xml &lt;taglib&gt; &lt;taglib-uri&gt;FlexTagLib&lt;/taglib-uri&gt; &lt;taglib-location&gt;/WEB-INF/lib/flex-bootstrap-jsp.jar&lt;/taglib-location&gt; ...

    JSTL标签库下载和配置使用

    **JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组标准标签,它为开发者提供了一种简洁的方式来处理常见的任务,如迭代、条件判断、XML处理等,使得JSP页面更加清晰,易于维护。...

    ssh框架错误总结

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

    JSP Display标签

    例如,如果需要使用数据导出功能,需要在web.xml文件中添加filter配置项,以便数据到处功能能够工作正常。 使用DisplayTag DisplayTag提供了多种方式来显示数据,包括表格、树形结构、csv、excel、pdf等。在JSP...

    pager-taglib-2.0 JSP分页组件

    - **配置Web.xml**:需要在`web.xml`中声明taglib,指定TLD(Tag Library Descriptor)文件的位置。 - **JSP页面使用**:在JSP页面中引入taglib,然后使用提供的标签来展示分页元素,比如页码、上一页/下一页链接...

    SSHConformity【display标签和taglib标签缺架包】,ssh整合,分页,display标签,pager-taglib标签

    解决这个问题通常需要检查pom.xml或build.gradle文件,确保相关的Maven或Gradle依赖已添加,或者手动下载JAR包并放入项目的类路径中。 总的来说,SSHConformity项目展示了如何通过SSH整合实现企业级应用,而Display...

    pager-taglib-2.0及使用方法

    在你的`web.xml`配置文件中,你需要添加Pager Taglib的标签库定义,如下所示: ```xml &lt;taglib&gt; &lt;taglib-uri&gt;/pager&lt;/taglib-uri&gt; &lt;taglib-location&gt;/WEB-INF/tld/pager.tld&lt;/taglib-location&gt; &lt;/taglib&gt; ``` 这...

Global site tag (gtag.js) - Google Analytics