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
计算也将被禁用。