使用EL表达式时,遇到了页面直接显示“time: ${requestScope.time}”,不解析的情况。
查找资料原因是:在默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JSP 2.0支持。
刚好我使用Maven创建的webapp项目,web.xml里就是2.3版本的:
<!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> </web-app>
修改为2.4版本就可以正常解析了:
<web-app 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" version="2.4"> </web-app>
处理方法二:
在.jsp页面加上指令:<%@ page isELIgnored="false" %>