4.6.1 实现无脚本的JSP页面
为了关闭JSP页面中的脚本元素,要使用jsp-property-group元素以及url-pattern和scripting-invalid两个子元素。url-pattern元素定义了要禁用脚本的JSP页面的URL模式。
关闭所有JSP页面中的脚本
将一个应用程序中所有JSP页面的脚本都关闭:
| 1 | <jsp-config> | 
注意
在部署描述符中只能有一个jsp-config元素,如果需要同时禁用脚本和EL,则需要:
在jsp-config元素下编写两个jsp-property-group子元素,一个用来禁用脚本,一个用来禁用EL
4.6.2 禁用EL计算
在某些情况下,比如,当需要在JSP 2.0及其更高版本的容器中部署JSP 1.2应用程序时,可能就需要禁用JSP页面中的EL计算了。目前有两种方式可以禁用JSP中的EL计算。
通过page指令来关闭EL表达式计算
将page指令的isELIgnored属性设为true,即可关闭该JSP页面中EL表达式的计算.如下代码所示:
| 1 | <%@ page isELIgnored="true" %> | 
isELIgnored属性的默认值为false。如果想在一个或者几个JSP页面中关闭EL表达式计算,建议使用isELIgnored属性。
通过部署描述符来关闭EL表达式计算
可以在部署描述符中使用jsp-property-group元素。jsp-property-group元素是jsp- config元素的子元素。利用jsp-property-group可以将某些设置应用到程序中的一组JSP页面中。
为了利用 jsp-property-group元素来禁用EL计算,还必须有url-pattern和 el-ignored两个子元素。url-pattern元素用于定义要禁用EL的JSP页面URL样式。el-ignored元素必须设为True。
在指定JSP页面中关闭EL表达式计算
下面举一个例子,示范如何在名为noEI.jsp的JSP页面中禁用EL计算:
| 1 | <jsp-config> | 
关闭所有JSP页面中的EL表达式计算
也可以像下面这样,通过给 url-pattern元素赋值*.jsp,来禁用一个应用程序中所有JSP页面的EL计算:
| 1 | <jsp-config> | 
满足以上两个条件其中一种即可关闭EL表达式计算
例如,虽然一个JSP页面中page指令的isELIgnored属性设为false,但该JSP页面的URL与部署描述符中禁用了EL计算的模式相匹配,那么该页面的EL计算也将被禁用。