只要Web服务器支持Servlet 2.4/JSP 2.0及其以上的标准,程序员就能在JSP页面中使用EL来减少页面JAVA代码。在JSP2.0之前的版本中不能支持EL,因此,高版本JAVA WEB为了兼容低版本,有时需要在JSP页面中禁止EL的有效性。
目前,有三种比较常见的禁止使用EL的方法。第一种是在EL表达式前面添加‘\'(单斜杠)来转义。例如,${username} 改成\${username}之后,该表达式将被当做普通的JSP页面的一部分。第二种则是在page页面中禁止所有的EL表达式。在jsp页面使用
<%@ page isELIgnored="true" %>
,能够忽略页面所有的EL。如果想禁止整个项目中EL,则可以在WEB-INF/web.xml配置文件中,修改JSP Configuration。代码如下所示:
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>true</el-ignored>
</jsp-property-group>
</jsp-config>
需要注意的是,jsp-config会影响由jsp生成servlet的过程,如果发现添加jsp-config后仍然发现EL未被禁止,则可能是因为work目录下面存在缓存文件。需要删除之后才能看到效果。