|
我在页面上直接使用el表达式,总是按照原样输出,例如:${1+1},输入的样子还是${1+1},并不是2,网上搜了搜,说了一堆导包的问题,最后发现原因是版本的问题:
确定用的Servlet / JSP的版本。
查看web.xml的开头部分,如果有以下内容,表示是Servlet 2.4 / JSP 2.0。
<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">
如果有以下内容,表示是Servlet 2.3 / JSP 1.2。
<!--CTYPE web-app PUBLIC </sp-->
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
在默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JSP 2.0支持。
如果是在Servlet 2.3 / JSP 1.2下,将JSP页面的开头添加如下一句代码即可。
<%@ page isELIgnored="false" %>
或者,在WEB.XML中加入
<jsp-config>
<el-ignored>false </el-ignored>
</jsp-config>
对于后一种在web.xml中加入的方法,我没有试验成功,不过第一种,在页面中加入的方法测试成功了! |
|