如何在JSP页面中禁用脚本元素?
在JSP2.0中引入表达式语言后,建议使用EL而不是脚本元素/scriptlets。这意味着如果我们想访问服务器端对象,建议使用EL,然后在JSP页面中编写一些Java代码。
为此,在JSP2.0中,我们提供了一个特性,通过在部署描述符文件(web.xml)中的<JSP-property-group>中定义一个scripting-invalid元素来禁用脚本元素。
这是您需要在web.xml文件中添加的JSP配置:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>JSP Examples</display-name> <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <scripting-invalid>true</scripting-invalid> </jsp-property-group> </jsp-config> </web-app>
当您尝试请求其中包含脚本元素的JSP页面时,它将给您以下错误消息:
HTTP Status 500 - /sessionWriteRead.jsp (line: 10, column: 2) Scripting elements ( <%!, <jsp:declaration, <%=, <jsp:expression, <%, <jsp:scriptlet ) are disallowed here.