解决jsp开发中不支持EL问题
程序员文章站
2024-02-18 20:56:40
问题就出在建web project的时候web.xml声明上。 web.xml声明部分一般分为如下版本的xsd, web-app_2_2.dtd web-app_2_3.d...
问题就出在建web project的时候web.xml声明上。
web.xml声明部分一般分为如下版本的xsd,
web-app_2_2.dtd
web-app_2_3.dtd
web-app_2_4.xsd
web-app_2_5.xsd
更详细的列出各版本web.xml声明部分吧,如下:
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
<?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
<?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
<?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">
注意!! 其中servlets 2.4(我没记错的话jsp 2.0出来之后的第一个版本),这个版本的iselignored默认设置为false。所以使用web.xml里用web-app_2_4.xsd声明的时候在jsp页面不用特意声明。 servlets 2.4el可以直接使用。
而其它的不行必须手工申明.
确定web.xml里的xsd版本之后(如果不是servlets 2.4)一定要在jsp的声明(<%@page %>)部分加一行,如下:
<%@ page iselignored="false" %>
或者
设置整个项目使用el表达式,需要在web.xml中加上 (控制一个项目)
<jsp-config>
<jsp-property-group>
<el-ignored>false</el-ignored>
</jsp-property-group>
</jsp-config>
这样设为false才能解析el表达式。
还用一个最简单的解决方法是,直接在web.xml中将servlets 2.4xsd的引用替换你现在的。即用以下引用替换.
<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.xml声明部分一般分为如下版本的xsd,
web-app_2_2.dtd
web-app_2_3.dtd
web-app_2_4.xsd
web-app_2_5.xsd
更详细的列出各版本web.xml声明部分吧,如下:
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
<?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
<?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
<?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">
注意!! 其中servlets 2.4(我没记错的话jsp 2.0出来之后的第一个版本),这个版本的iselignored默认设置为false。所以使用web.xml里用web-app_2_4.xsd声明的时候在jsp页面不用特意声明。 servlets 2.4el可以直接使用。
而其它的不行必须手工申明.
确定web.xml里的xsd版本之后(如果不是servlets 2.4)一定要在jsp的声明(<%@page %>)部分加一行,如下:
<%@ page iselignored="false" %>
或者
设置整个项目使用el表达式,需要在web.xml中加上 (控制一个项目)
<jsp-config>
<jsp-property-group>
<el-ignored>false</el-ignored>
</jsp-property-group>
</jsp-config>
这样设为false才能解析el表达式。
还用一个最简单的解决方法是,直接在web.xml中将servlets 2.4xsd的引用替换你现在的。即用以下引用替换.
<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">
上一篇: c#字符串编码编码(encoding)使用方法示例
下一篇: Java中的Map允许有重复元素吗?
推荐阅读
-
解决jsp开发中不支持EL问题
-
Rails开发中的MySQL中文问题以及简单解决方式
-
jsp 不支持EL表达式,解决办法
-
jquery开发中缓存问题的几个解决方法
-
解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
-
Ubuntu+MySQL下JAVA开发中乱码问题的解决
-
我在开发AJAX过程中遇到的问题及解决方案,分享给大家~ Ajax浏览器IEjQueryDojo
-
我在开发AJAX过程中遇到的问题及解决方案,分享给大家~ Ajax浏览器IEjQueryDojo
-
如何解决vue开发中父组件添加scoped后无法修改子组件样式问题
-
JSP页面中超链接传递中文参数出现乱码问题解决方法