7.2.3 使用isELIgnored属性禁止EL表达式

优质
小牛编辑
145浏览
2023-12-01

JSP在2.0以前不支持EL表达式,因此,在这些老版本的JSP页面中,如果包含了“${...}”格式的信息,将会被当作普通的字符串来处理。如果这些老版本的JSP页面被移植到支持新版JSP标准(2.0及以上版本)的JSP引擎上,系统就会将“${...}”格式的信息当成EL表达式来处理。这就可能会使同一个JSP页面中不同版本的JSP引擎中运行结果不一致。

为了使JSP引擎向下兼容,在page指令中提供了一个isELIgnored属性,通过将该属性设为true,可以将高版本的JSP引擎的EL表达式功能关闭。也就是说,当isELIgnored属性为true时,支持JSP2.0及以上版本的JSP引擎会将“${...}”当成是普通字符串处理。

看下面的JSP代码:

<!--  elignored.jsp  -->

<%@ page isELIgnored="true" pageEncoding="UTF-8"%>

<jsp:useBean id="date" class="java.util.Date"/>

当前的日期是:${date}

在浏览器地址栏中输入如下的URL:

http://localhost:8080/demo/chapter7/elignored.jsp

浏览器显示的效果如图7.1所示。

01

图7.1 使用isELignored属性禁止EL