1、page_scope_01.jsp<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<html>
<head><title>www.mldn.cn</title></head>
<%
pageContext.setAttribute("name", "行者", PageContext.REQUEST_SCOPE) ;
pageContext.setAttribute("birthday", new Date(), PageContext.REQUEST_SCOPE) ;
%>
<jsp:forward page="page_scope_02.jsp"/>
</body>
</html>
2、page_scope_02.jsp<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<html>
<head><title>www.mldn.cn</title></head>
<body>
<%
String username = (String)pageContext.getAttribute("name");
Date userbirthday = (Date)pageContext.getAttribute("birthday");
%>
<h2>姓名:<%= username %></h2>
<h2>生日:<%= userbirthday %></h2>
</body>
</html>
在MyEclipse中建立一个Web Project,工程名为scope,其中page_scope_01.jsp和page_scope_01.jsp是WebRoot下面的两个jsp文件,在MyEclipse里面的浏览器中输入http://localhost:8080/scope/page_scope_01.jsp时,等不到想要的结果。
显示结果:username和userbirthday均为null,但是我确实设置了PageContext.REQUEST_SCOPE,应该能访问才对啊,这是为什么呢?WebJSPpage

解决方案 »

  1.   

    你这个应该用request存放传递的值
      

  2.   

    PageContext  这东西好像没引入?
      

  3.   

    1、我在page_scope_01.jsp中加入了<%@ page import="javax.servlet.jsp.*"%>,但是也不能执行成功。
    2、我做这个实验的目的就是为了证明pageContext.setAttribute( , , PageContext.REQUEST_SCOPE)和request.setAttribute( , )具有相同的效果,所以本题与request似乎没有关系。
      

  4.   

    楼主,你首先应该先看一下API文档,你在page_scope_01.jsp中,你把值用pageContext对象放置到request域里去了,你再取的时候你用pageContext对象,但你又没指定范围域,默认它是在page这个对象域里取值,自然取不到值了<%
        String username = (String)pageContext.getAttribute("name", PageContext.REQUEST_SCOPE);
        Date userbirthday = (Date)pageContext.getAttribute("birthday", PageContext.REQUEST_SCOPE);
    %>
    你这样再试一下,应该能取到值了