当我们在jsp页面中使用EL表达式时,EL表达式不会进行解析,而是按照字符输出
后来发现,在jsp页面里面 <%@ page isELIgnored="false"%> 加上这一句就好了。
这一句的意思就是,EL表达式不要以字符串的形式解析出来,如果isELIgnored=“true” ,那么就会将EL表达式以字符串的形式解析显示出来。
出现这个现象的原因:
如果web.xml中声明部分的schema版本为2.5或者以上,而tomcat使用的是5.5.x以下的版本的时候就会出现在页面直接显示而不解析jstl/el表达式。如果web.xml中声明部分的schema版本为2.5或者以上,tomcat使用使用的是6.0以上则不出现这种问题。
在jsp页面的<%@ page isELIgnored="false" %>声明中,将isELIgnored属性设为false,EL表达 式才可以正常显示,在2.4版本之前的版本,isELIgnored默认为true,所以只能在JSP页面设置这个属性为false才可以。2.4版本中isELIgnored属性默认为false,因此EL表达式可以直接使用。
所以需要在web.xml文件中加入:
<web-app version="3.0"
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_3_0.xsd">
就会使得isELIgnored="false",就不会出现上面的错误了。