转自:http://yanlei3032.blog.163.com/blog/static/820017312010514104830986/
EL的全称是Expression Language。 1.在默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JSP 2.0支持。 servlets 2.4这个版本的isELIgnored默认设置为false。所以使用web.xml里用web-app_2_4.xsd声明的时候在JSP页面不用特意声明。如何查看Servlet / JSP的版本? 打开tomcat的common\lib 目录下,有两个JAR文件: jsp-api.jar servlet-api.jar 。如果没有,那可能是你没有添加进来。解压这两个文件,用记事本分别打开META-INF下的MAINMEFT.MF文件。查看Implementation-Version或Specification-Version项。 2.如果web.xml 中web-app 的 version="2.5" ,也不支持EL表达式: <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"> 解决方法: 1.修改web.xml文件为(Servlet 2.4 / JSP 2.0): <web-app version="2.4" 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_4.xsd"> 2.设置某个jsp页面使用el表达式,需要在jsp页面加上(控制单个页面) : <%@ page isELIgnored="false"%> 或在web.xml文件中加上下列代码,这样就不用在每个jsp页面中指定了。 <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> </jsp-property-group> </jsp-config>
<jsp-config> <jsp-property-group> <description>指定JSP文件的配置属性</description> <display-name>jspConfiguration</display-name> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> <page-encoding>utf-8</page-encoding> <scripting-invalid>false</scripting-invalid> <include-prelude></include-prelude> <include-coda></include-coda> </jsp-property-group> <jsp-property-group> <description>指定htm文件的配置属性</description> <display-name>jspConfiguration</display-name> <url-pattern>*.htm</url-pattern> <el-ignored>false</el-ignored> <page-encoding>utf-8</page-encoding> <scripting-invalid>false</scripting-invalid> <include-prelude></include-prelude> <include-coda></include-coda> </jsp-property-group> <jsp-property-group> <description>指定html文件的配置属性</description> <display-name>jspConfiguration</display-name> <url-pattern>*.html</url-pattern> <el-ignored>false</el-ignored> <page-encoding>utf-8</page-encoding> <scripting-invalid>false</scripting-invalid> <include-prelude></include-prelude> <include-coda></include-coda> </jsp-property-group> </jsp-config> |