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开发实战经典(名师讲坛)
时间: 2024-11-05 19:43:12