原文地址: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`时遇到的问题,以及相关的Java Web开发知识。 首先,`taglib`是JSP标签库的定义,用于引入...
3. **配置web.xml**:打开`WEB-INF/web.xml`文件,添加或更新以下配置来引用JSTL库: ```xml <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <taglib-location>/WEB-INF/tld/c.tld</...
14. **<taglib>**: 用于指定TLD(Tag Library Descriptor)文件的URI,允许在JSP中使用自定义标签库。 15. ****: 声明与资源环境相关的管理对象,比如数据库连接池。 16. ****: 用于声明应用需要的外部资源,如...
通过`<listener>`元素添加监听器,用于监听Web应用生命周期中的特定事件。 15. **J2EE元素** `web.xml`还可以包含J2EE规范定义的其他元素,用于实现更复杂的应用功能,如EJB、JMS、JNDI等。 以上是`web.xml`控制...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
接下来,需要在Web应用的配置文件`web.xml`中声明对标签库的引用。这一步确保服务器能够识别和加载自定义的标签库。 ```xml <taglib> <taglib-uri>/myTag</taglib-uri> <taglib-location>/WEB-INF/myTag.tld</...
之后,你需要在`web.xml`配置文件中配置JSTL的标签库解析器,如下所示: ```xml <web-app> ... <taglib> <taglib-uri>/WEB-INF/c.tld</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </...
- 在项目的`WEB-INF/web.xml`配置文件中,添加`pager-taglib`的标签库定义。这一步是为了让JSP能够识别并使用分页标签。 ### 3. 使用`pager-taglib` - 引入标签库:在JSP页面头部添加`<%@ taglib prefix="pager" ...
如果你的项目是Maven或Gradle构建的,需要在pom.xml或build.gradle文件中添加相应的依赖项。 Maven的pom.xml示例: ```xml <groupId>jakarta.servlet.jsp.jstl <artifactId>jakarta.servlet.jsp.jstl-api ...
`<taglib>`元素指定了一个TLD文件的位置,即`/WEB-INF/ecside.tld`,这样JSP编译器就能识别并使用ECSide提供的标签。 最后,`welcome-file-list`定义了默认的首页,这里是`index.jsp`。当用户访问Web应用的根路径时...
然后,在`web.xml`文件中添加一个`<taglib>`元素来注册这个标签库,如下所示: ```xml <taglib> <taglib-uri>FlexTagLib</taglib-uri> <taglib-location>/WEB-INF/lib/flex-bootstrap-jsp.jar</taglib-location> ...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组标准标签,它为开发者提供了一种简洁的方式来处理常见的任务,如迭代、条件判断、XML处理等,使得JSP页面更加清晰,易于维护。...
SSH框架错误总结 ...解决方法:添加JSTL相关的JAR包,例如jstl.jar,并在web.xml文件中添加相关配置信息,例如<taglib>标签。 本文总结了SSH框架常见的错误和解决方法,为开发者提供了快速解决问题的参考。
例如,如果需要使用数据导出功能,需要在web.xml文件中添加filter配置项,以便数据到处功能能够工作正常。 使用DisplayTag DisplayTag提供了多种方式来显示数据,包括表格、树形结构、csv、excel、pdf等。在JSP...
- **配置Web.xml**:需要在`web.xml`中声明taglib,指定TLD(Tag Library Descriptor)文件的位置。 - **JSP页面使用**:在JSP页面中引入taglib,然后使用提供的标签来展示分页元素,比如页码、上一页/下一页链接...
解决这个问题通常需要检查pom.xml或build.gradle文件,确保相关的Maven或Gradle依赖已添加,或者手动下载JAR包并放入项目的类路径中。 总的来说,SSHConformity项目展示了如何通过SSH整合实现企业级应用,而Display...
在你的`web.xml`配置文件中,你需要添加Pager Taglib的标签库定义,如下所示: ```xml <taglib> <taglib-uri>/pager</taglib-uri> <taglib-location>/WEB-INF/tld/pager.tld</taglib-location> </taglib> ``` 这...