7.2.4 在web.xml中禁止EL表达式

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

虽然可以通过page指令的isELIgnored属性禁止在JSP页面中使用EL表达式,但是对每个JSP页面都设置isELIgnored属性就变得非常麻烦,因此,也可以在web.xml文件中禁止在所有或部分JSP页面中使用EL表达式语言。如果要在当前应用程序所有的JSP页面中禁止使用EL表达式,可以使用如下的配置代码:

<web-app ...>
    ... ...
    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <el-ignored>true</el-ignored>
        </jsp-property-group>
    </jsp-config>
</web-app>

如果只想禁止在部分的JSP页面中使用EL表达式,可以使用如下的配置代码:

<web-app ...>
    ... ...
    <jsp-config>
        <jsp-property-group>
            <url-pattern>/chapter7/*</url-pattern>
            <el-ignored>true</el-ignored>
        </jsp-property-group>
    </jsp-config>
</web-app>

上面的配置代码禁止在chapter7目录及其子目录中所有的JSP页面中使用EL表达式。

JSP页面的设计者也可以通过isELIgnored属性来覆盖web.xml中的配置。虽然在web.xml文件中禁止在JSP页面中使用EL表达式,但可以通过将isELIgnored属性值设为false的方式单独打开某个JSP页面的EL表达式功能。也就是说,如果既在web.xml文件配置了JSP页面是否支持EL表达式,也在JSP页面中使用page指令的isELIgnored属性设置了JSP页面是否支持EL表达式,那么以JSP页面中的isELIgnored属性的设置为准。