解決jsp開發(fā)中不支持EL問題今天遇到了一個(gè)莫名其妙的問題,就是在使用MyEclipse5.5或6.0時(shí)遇上了解析不到EL表達(dá)式的問題。經(jīng)過好幾
個(gè)小時(shí)的琢磨終于發(fā)現(xiàn)了,給大家share一下:
問題就出在建Web Project的時(shí)候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
更詳細(xì)的列出各版本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(我沒記錯(cuò)的話JSP
2.0出來之后的第一個(gè)版本),這個(gè)版本的isELIgnored默認(rèn)設(shè)置為false。所以使用web.xml里用web-app_2_4.xsd聲明
的時(shí)候在JSP頁面不用特意聲明。 servlets 2.4EL可以直接使用。
而其它的不行必須手工申明.
確定web.xml里的xsd版本之后(如果不是servlets 2.4)一定要在JSP的聲明(<%@page
%>)部分加一行,如下:
<%@ page isELIgnored="false" %>
這樣設(shè)為false才能解析EL表達(dá)式。
還用一個(gè)最簡單的解決方法是,直接在web.xml中將servlets 2.4xsd的引用替換你現(xiàn)在的。即用以下引用替換.
<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
"
>
原文出處:http://useryouyou.javaeye.com/blog/603191