Java表达式注入
玩玩
EL表达式
先搭一个tomcat 注意
1 | WEB-.jsp就放这里 是受保护目录,WEB- 里面的文件只可以由servlet去访问,不能通过url地址栏去请求访问 WebRoot根目录下面的文件可以直接通过url地址栏去访问,一般的index |
okk 我们来开动 虽然会爆红 但没有什么大的影响
1 | <%@ page import="java.util.HashMap" %> |
禁用EL表达式
如果不想使用 EL 表达式,可以禁用 EL 表达式。禁用 EL 表达式有以下 3 种方法:
1)禁用单个EL表达式
在 EL 表达式前加 \
,例如:
\${2+3}
页面输出:
${2+3}
2)禁用当前页面的EL表达式
将 page 指令中的 isELIgnored 属性设置为 true,如下:
1 | <%@ page isELIgnored="true" %> |
3)禁用整个Web应用的EL表达式
在 web.xml 中配置
1 | <jsp-property-group> |
EL内置对象
为了显示方便,EL 表达式语言提供了许多内置对象,可以通过不同的内置对象来输出不同的内容。EL 表达式内置对象如下:
内置对象 | 说明 |
---|---|
pageScope | 获取 page 范围的变量 |
requestScope | 获取 request 范围的变量 |
sessionScope | 获取 session 范围的变量 |
applicationScope | 获取 application 范围的变量 |
param | 相当于 request.getParameter(String name),获取单个参数的值 |
paramValues | 相当于 request.getParameterValues(String name),获取参数集合中的变量值 |
header | 相当于 request.getHeader(String name),获取 HTTP 请求头信息 |
headerValues | 相当于 request.getHeaders(String name),获取 HTTP 请求头数组信息 |
initParam | 相当于 application.getInitParameter(String name),获取 web.xml 文件中的参数值 |
cookie | 相当于 request.getCookies(),获取 cookie 中的值 |
pageContext | 表示当前 JSP 页面的 pageContext 对象 |
从以上方法可以看出,EL 表达式可以输出 4 种属性范围的内容。如果在不同的属性范围中设置了同一个属性名称,则按照 page、request、session、application 的顺序依次查找。我们也可以指定要取出哪一个范围的变量,例如:${pagesScope.name}
,表示取出 page 范围的 name 变量。
实例
以后遇到再说