现在的位置: 首页 > 综合 > 正文

JSP页面无法解析EL表达式

2013年08月10日 ⁄ 综合 ⁄ 共 759字 ⁄ 字号 评论关闭

 

      最近收到一个项目的源代码,部署以后打开页面发现JSP页面中的EL表达式都没有解析,都是原样显示。

上网搜索了一下原因,原来是Servlet版本的问题。原来Servlet中可以设定是否解析EL表达式,只有2.4版本的Servlet默认是解析EL表达式的,而其他版本是默认不解析EL表达式,查了一下程序,果然用的不是2.4版本。于是把web.xml中使用的2.5版本的Servlet改成了2.4版本的。

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >

替换成

<web-app 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">

重新部署 启动后就可以解析EL表达式了

 

当然 其他版本的Servlet只是默认不解析EL表达式 但是在需要解析的JSP页面

可以通过增加 

<%@page ELIgnored="false"%>

 来显式解析JSP页面中的EL表达式

抱歉!评论已关闭.