JSP域对象属性
和属性相关的方法
- Object getAttribute(java.lang.String name)获取指定属性
- Enumeration<java.lang.String>getAttributeNames()获取所有属性的名字的Enumeration对象
- void removeAttribute(java.lang.String name)移除指定属性
- void setAttribute(java.lang.String name,java.lang.Object o)设置属性
有以上属性的对象
pageContext、session、request、application都有以上方法,这四个对象称之为域对象
在同一页面设置和获取相关的域属性
为域对象设置属性值
<%
request.setAttribute(s:"requestAttr",o:"requestAttrValue");
session.setAttribute("sessionAttr","sessionValue");
pageContext.setAttribute("pageContextAttr"."pageContextValue");
application.setAttribute("applicationAttr"."applicationValue");
%>
获取域对象的属性值
requesAttr:<%=request.getAttribute("requestAttr")%><br>
sessionAttr:<%=session.getAttribute("sessionAttr")%><br>
pageContextAttr:<%=pageContext.getAttribute("pageContextAttr")%><br>
applicationAttr:<%=application.getAttribute("applicationAttr")%>
跨页面相关属性值的设置和获取
<%--
Created by IntelliJ IDEA.
User: huwei
Date: 2018/7/11
Time: 16:25
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" session="false" %>
<html>
<head>
<title>跨页面获取相关的域属性</title>
</head>
<body>
<%
//为域对象设置属性值
request.setAttribute("requestAttr","requestAttrValue");
session.setAttribute("sessionAttr","sessionValue");
pageContext.setAttribute("pageContextAttr","pageContextValue");
application.setAttribute("applicationAttr","applicationValue");
%>
<a href="/getAttr.jsp">getAttr</a><br><br>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: huwei
Date: 2018/7/11
Time: 16:35
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>获取域属性</title>
</head>
<body>
requestAttr====><%=request.getAttribute("requestAttr")%><br><br>
sessionAttr====><%=session.getAttribute("sessionAttr")%><br><br>
pageContextAttr====><%=pageContext.getAttribute("pageContextAttr")%><br><br>
applicationAttr====><%=application.getAttribute("applicationAttr")%>
</body>
</html>
对象的作用范围
pageContext:仅限于当前页面范围
request:仅限于同一个请求
session:作用范围限定于一次会话,浏览器打开直到浏览器关闭是一次回话
application:作用于整个web应用,是作用范围最大的对象,即在一处设置,在整个web应用的jsp或者servlet中都可以访问的到。
主要作用
就是用来在servlet和jsp页面以及jsp页面之间相互进行数据的传递