问题就出在建Web Project的时候web.xml声明上。
web.xml声明部分一般分为如下版本的xsd,
web-app_2_2.xsd
web-app_2_3.xsd
web-app_2_4.xsd
web-app_2_5.xsd
更详细的列出各版本web.xml声明部分吧,如下:
web-app_2_2.xsd
Java代码
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/dtd/web-app_2_2.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/dtd/web-app_2_2.dtd">
web-app_2_3.xsd
Java代码
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
web-app_2_4.xsd
Java代码
1. <?xml version="1.0" encoding="UTF-8"?>
2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
web-app_2_5.xsd
Java代码
1. <?xml version="1.0" encoding="UTF-8"?>
2. <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
确定web.xml里的xsd版本之后一定要在JSP的声明(<%@page %>)部分加一行,如下:
<%@ page isELIgnored="false" %>
这样设为false才能解析EL表达式。
经过各版本的test之后....
注意!! 其中servlets 2.4(我没记错的话JSP 2.0出来之后的第一个版本),这个版本的isELIgnored默认设置为false。所以使用web.xml里用web-app_2_4.xsd声明的时候在JSP页面不用特意声明。
下面是官方Documention中isELIgnored Attribute的详解:
The isELIgnored Attribute
• Format
– <%@ page isELIgnored="false" %>
– <%@ page isELIgnored="true" %>
Purpose
– To control whether the JSP 2.0 Expression Language
(EL) is ignored (true) or evaluated normally (false).
• Notes
– If your web.xml specifies servlets 2.3 (corresponding to
JSP 1.2) or earlier, the default is true
• But it is still legal to change the default—you are permitted
to use this attribute in a JSP-2.0-compliant server
regardless of the web.xml version.
– If your web.xml specifies servlets 2.4 (corresponding to
JSP 2.0) or earlier, the default is false
不同版本引入新的标签库的
< web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
< taglib>
< taglib-uri>http://jsptags.com/tags/navigation/pager< /taglib-uri>
< taglib-location>/WEB-INF/pager-taglib.tld< /taglib-location>
< /taglib>
< /web-app>
按上面进行配置时MyEclipse一直在报错,应该把< taglib> 放到 < jsp-config>中:
< ?xml version="1.0" encoding="UTF-8"?>
< web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
< jsp-config>
< taglib>
< taglib-uri>http://jsptags.com/tags/navigation/pager< /taglib-uri>
< taglib-location>/WEB-INF/pager-taglib.tld< /taglib-location>
< /taglib>
< /jsp-config>
< /web-app>
分享到:
相关推荐
### 在web.xml中引入其他XML配置文件的步骤 在Java Web开发中,`web.xml`作为Web应用程序的核心配置文件,负责定义应用级别的配置信息。为了提高代码的可维护性和复用性,有时需要将一部分配置内容提取到独立的XML...
在 web.xml 文件中,第一个元素是 XML 头,用于声明 XML 版本和字符编码。紧接着是 DOCTYPE 声明,用于指定 Servlet 规范的版本和文档类型定义(DTD)。最后是 web-app 元素,作为根元素,包含了所有其他元素。 ...
在 web.xml 文件中,第一个元素是 XML 头,指定了 XML 的版本号和编码方式。接着是 DOCTYPE 声明,用于指定文件类型定义(DTD),从而检查 XML 文档的有效性。 DOCTYPE 声明中包含了几个特性,告诉我们关于 DTD 的...
由于经常使用Maven创建web工程所以需要使用web.xml默认模板
在Tomcat的`conf`目录下,有两个主要的XML配置文件:`server.xml`和`web.xml`。`server.xml`是Tomcat的主要配置文件,而`web.xml`则定义了应用程序的行为。 在`server.xml`中,我们需要配置`<Connector>`元素来启用...
Web.xml是Servlet容器(如Tomcat)的部署描述符,用于配置Web应用程序的各种设置,包括日志配置。本文将详细讲解如何将Log4j整合到Web应用并通过web.xml进行配置,以实现日志信息的输出和管理。 1. **Log4j介绍** ...
web.xml文件中定义的标签元素不是定死的,模式文件也是可以改变的,随着web.xml模式文件的版本升级,里面定义的功能会越来越复杂,标签元素的种类肯定也会越来越多。 下面我们介绍一下web.xml文件中常用的标签以及...
在本案例中,"jboss-web.xml"、"jndi.properties"和"oracle-ds.xml"是针对EJB+JPA在JBoss应用服务器中的配置文件,它们各自承担着不同的职责。 首先,"jboss-web.xml"是JBoss特定的Web应用程序部署描述符,它是...
Web.xml 中的 listener、filter、servlet 加载顺序及其详解 在 Web 应用程序中,web.xml 文件扮演着非常重要的角色,它定义了 Web 应用的结构和配置。其中,listener、filter、servlet 是三个非常重要的概念,它们...
在Servlet 2.3版本中,web.xml文件以XML声明开始,后面跟着DOCTYPE声明,指定遵循的servlet规范版本的DTD。然后是<web-app>根元素,如示例所示: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app...
在Java Web应用中,`web.xml`文件是部署描述符(Deployment Descriptor),它定义了应用程序的行为、组件配置以及服务器如何处理请求和响应等关键信息。`error-page`标签是`web.xml`中的一个重要元素,用于处理HTTP...
web.xml 各属性作用描述 Web.xml 常用元素 <web‐app> ‐name>‐name>定义了WEB 应用的名字 <description></description> 声明WEB 应用的描述信息
在 Web.xml 中设置错误处理页面 在 JavaWeb 应用程序中,错误处理页面是一个非常重要的组件,它可以帮助开发者处理和显示异常信息,从而提供更好的用户体验。本文将讲述如何在 web.xml 文件中使用 `<error-page>` ...
`web.xml`是Java Web应用程序的核心配置文件,用于定义应用服务器如何初始化和管理Web应用程序。它遵循Java Servlet规范中的标准,为开发者提供了一种结构化的方式来配置Servlet、过滤器、监听器和其他组件。理解`...
### 在web.xml中配置action或.do的理解与实践 #### 一、引言 在Web开发领域,特别是基于Java的Web应用程序开发中,`web.xml`文件扮演着至关重要的角色。它不仅定义了Web应用的基本配置,还管理着诸如Servlet、过滤...
servlet的写登陆管理系统用到的web.xml
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
Web.xml文件的基本结构包含一个根元素<web-app>,它用于声明文档遵循的命名空间和schema版本。其中包括了元素,用于描述站点信息;元素,用于定义Web应用的名称;元素,用于声明Web应用支持分布式处理;以及"context...
web.xml dwr.xml 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做converted,远程Bean叫做created.如果远程Bean A有个方法A.blah(B),那么你需要为A建立一个created,为B建立...