02_03 JSP内置对象之page

page属性范围深入

在javax.servlet.jsp.PageContext中发现还有如下属性设置方法:

NO

方法

类型

描述

1

Public  void setAttribute(String name, Object o, int scope)

普通

设置属性并指定保存范围

而scope的方法有如下4种:

NO

方法

类型

描述

1

Public  static final int PAGE_SCOPE

常量

表示page属性范围,默认

2

Public  static final int REQUEST_SCOPE

常量

表示 request属性范围

3

Public  static final int SESSION_SCOPE

常量

表示 session属性范围

4

Public  static final int APPLICATION_SCOPE

常量

表示application属性范围

由上两表可知其实用pageContext也可以对4种属性全部指定设置。

例1

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*"%>    <%--导java.util包--%>
<html>
<head>
	<title>page_scope</title>
</head>
<body>
<%
	//设置request属性范围,此属性服务器跳转属性有效
	pageContext.setAttribute("name", "郑廉晨", PageContext.REQUEST_SCOPE);
	pageContext.setAttribute("birthday", new Date(), PageContext.REQUEST_SCOPE);
%>

<jsp:forward page="request_scope_02.jsp" />		<%--进行服务器跳转--%>

</body>
</html>
<%--request属性: 服务器跳转属性有效--%>

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*"%>    <%--导java.util包--%>
<html>
<head>
	<title>request_scope</title>
</head>
<body>

<%
	//从当前页面取出属性,并执行向下转型操作
	String username = (String) request.getAttribute("name");
	Date userbirthday = (Date) request.getAttribute("birthday");
%>

<h2>姓名:<%=username%></h2>
<h2>生日:<%=userbirthday%></h2>

</body>
</html>

例2

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*"%>    <%--导java.util包--%>
<html>
<head>
	<title>page_scope</title>
</head>
<body>
<%
	//设置request属性范围,此属性服务器跳转属性有效
	pageContext.setAttribute("name", "郑廉晨", PageContext.SESSION_SCOPE);
	pageContext.setAttribute("birthday", new Date(), PageContext.SESSION_SCOPE);
%>

<!--通过超链接跳转,属于客户端跳转,地址栏有变化哦-->
<a href="session_scope_02.jsp">通过超链接取得属性</a>

</body>
</html>
<%--session属性: 在一个浏览器中属性都有效--%>

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.util.*"%>    <%--导java.util包--%>
<html>
<head>
	<title>request_scope</title>
</head>
<body>

<%
	//从当前页面取出属性,并执行向下转型操作
	String username = (String) session.getAttribute("name");
	Date userbirthday = (Date) session.getAttribute("birthday");
%>

<h2>姓名:<%=username%></h2>
<h2>生日:<%=userbirthday%></h2>

</body>
</html>



以上内容参考JAVAWEB开发实战经典(名师讲坛)


你可能感兴趣的:(page)