配置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`时遇到的问题,以及相关的Java Web开发知识。 首先,`taglib`是JSP标签库的定义,用于引入自定义标签或标准标签库,如JSTL(JavaServer Pages Standard Tag ...
`web.xml`文件的最外层标签为`<web-app>`,所有的配置项都需要定义在这个标签内,并且遵循一定的顺序。以下是对`web.xml`主要配置项的详细介绍: #### 三、配置项详解 1. **<display-name>**:该标签用于指定Web...
- **作用**:定义标签库描述符(TLD)文件的别名,方便在JSP页面中使用自定义标签。 - **示例**: ```xml <taglib> <taglib-uri>http://example.com/mytags</taglib-uri> <taglib-location>/WEB-INF/mytags....
在Java Web开发中,`web.xml`是Web应用程序的部署描述符,它是服务器理解和运行Web应用的关键配置文件。本文将详细解释`web.xml`配置的各个方面,帮助开发者更好地理解和掌握其使用。 1. **定义头和根元素** `web....
3. **配置Web.xml**:对于某些Web容器(如Tomcat),可能还需要在`WEB-INF/web.xml`配置文件中显式声明JSTL库。例如: ```xml <web-app> ... <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-...
3. **配置Web.xml**:在`WEB-INF`目录下的web.xml文件中,添加Struts2的过滤器配置: ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter....
<taglib-location>/WEB-INF/tlds/helloworld.tld</taglib-location> </taglib> </jsp-config> </web-app> ``` 这段代码指定了一个标签库的位置和URI,使得JSP页面可以通过指定的URI来使用该标签库中的标签。 ###...
SSH框架错误总结 ...解决方法:添加JSTL相关的JAR包,例如jstl.jar,并在web.xml文件中添加相关配置信息,例如<taglib>标签。 本文总结了SSH框架常见的错误和解决方法,为开发者提供了快速解决问题的参考。
- 创建tld文件后,将其放在WEB-INF目录下,并在web.xml中添加对应的`taglib`元素,类似上面配置JSTL的方式。 5. **使用自定义标签**: - 在JSP页面中,使用`<%@ taglib ... %>`引入自定义标签库,并在页面上使用...
我们可以使用 `<s:download>` 标签来下载文件。 总结 在本文中,我们使用 Struts2 框架实现了文件上传和下载的功能。这是一个非常简单的示例,但是它可以满足大多数的文件上传和下载需求。在实际开发中,我们可以...
3. **配置web.xml**:在`WEB-INF`目录下的`web.xml`文件中,你需要配置JSTL的标签库解析器。在`<web-app>`标签内添加以下内容: ```xml <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> ...
如果你的项目是Maven项目,也可以通过在pom.xml文件中添加JSTL依赖来自动管理这些库,这样可以确保项目在其他环境中也能正常运行。 ```xml <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>...
在传统的JSP开发中,我们通常使用内置标签,如`<jsp:include>`或`<c:forEach>`,但当需要实现特定业务逻辑或复杂功能时,自定义标签就显得尤为重要。 创建一个**Eclipse项目**来学习和实践JSP自定义标签是一个很好...
- 修改`web.xml`文件中的`<jsp-config>`部分,确保所有必需的JSTL标签库都已正确配置,参考示例: ```xml <jsp-config> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/...
在使用IntelliJ IDEA开发基于Maven的Web项目时,开发者可能会遇到JSTL(JavaServer Pages Standard Tag Library)标签在JSP页面中无法正常工作的问题。JSTL是一组支持JSP页面中常见任务的自定义标签库,比如迭代、...
JSTL 标签 发生 uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application问题时解决方法
4. **检查web.xml**:确认`web.xml`配置文件中是否正确配置了JSTL的标签库,例如: ```xml <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <taglib-location>/WEB-INF/tld/c.tld</taglib...
4. **在JSP文件中引入标签库并插入标签**:使用`<%@ taglib %>`指令在JSP页面中引入自定义标签库,然后像使用内置标签一样使用自定义标签,例如`<mm:hello/>`。 #### 四、JSP Tag API与TagSupport类 当Servlet容器...
描述中提到的“解决<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>报错”,这指的是在JSP页面导入JSTL Core库时可能出现的问题。`<%@ taglib ... %>`是JSP指令,用于引入标签库,`uri`定义了标签...
%>`:声明变量和方法,这部分代码在服务器端执行,可以定义类级别的变量。 - `<%= ... %>`:输出表达式的结果到客户端。 5. **JSP 表达式**: - `<%= expression %>`:将Java表达式的结果转换为字符串并输出到...