牛骨文教育服务平台(让学习变的简单)
博文笔记

EL表达式的语法、EL取四大作用域中的值

创建时间:2017-07-04 投稿人: 浏览次数:830
<%@ 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>


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。