EL表达式的语法、EL取四大作用域中的值
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <%-- ${key} : 到四大作用域里面去找到key对应的value 它查询找的顺序 -> 从小至大 注意四大作用域设值时的命名规范 KEY_IN_SESSION/KEY_IN_APP --%> <%-- JSP中部应该写java代码,下面只是为了测试方便查看 --%> <% application.setAttribute("KEY_IN_APP", "我是application中的内容"); session.setAttribute("KEY_IN_SESSION", "我是session中的内容"); request.setAttribute("KEY_IN_REQUEST", "我是request中的内容"); pageContext.setAttribute("KEY_IN_REQUEST", "我是pageContext中的内容"); String name = "aaaa"; %> ${empty KEY_IN_APP} <%-- 判断作用域是否为空 --%> <%=name %> <br> <%-- 拿到name的值 --%> application:${KEY_IN_APP} <br> session:${KEY_IN_SESSION} <br> request:${KEY_IN_REQUEST} <br> pageContext:${KEY_IN_REQUEST} <br> <%-- 测试使用EL表达式从四大作用域中取值的顺序 pageContext,request,session,application --%> <% application.setAttribute("msg", "我是application中的内容"); session.setAttribute("msg", "我是session中的内容"); request.setAttribute("msg", "我是request中的内容"); pageContext.setAttribute("msg", "我是pageContext中的内容"); %> application:${msg} <br> session:${msg} <br> request:${msg} <br> pageContext:${msg} <br> <%-- 在作用域范围我们的名字取成一样了,怎么去找到特定的一个作用域中的值呢?? --%> ${pageScope.msg} ${requstScope.msg} <%-- session比较特别,因为session是存在浏览器中的,只有关闭浏览器之后才可以拿到后面作用域中的值 --%> ${sessionScope.msg} ${applicationScope.msg} <%-- EL表达式使用的细节测试 ${pageContext.request.contextPath} 获取上下文路径 作用:Tomcat项目配置,有时候会加上上下文路径,以后会涉及到我们修改上下文路径,当我们进行修改的时候, 就需要把页面上所有的连接全改了,为了避免每次都要全部修改。就可以使用下面这种方式拿到上下文路径。 --%> <a href="${pageContext.request.contextPath}/save"></a> ${pageContext.request.contextPath} </body> </html>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: EL动态获取字段里的值
- 下一篇: el表达式简单的集合输出方式