关于testScope.jsp中request.getAttribute("myUsers")中抛出空指针异常问题

来源:5-8 JavaBean四个作用域范围

sNAil_0022

2015-03-09 15:29

为什么testScope.jsp中request.getAttribute("myUsers")得到的是null呢?在testScope.jsp中不是有<jsp:useBean id="myUsers" class="com.po.Users" scope="page">吗?应该创建了Users的实例对象myUsers,所以应该得到的跳转页面应该是显示用户名:null 密码:null?求解答

写回答 关注

2回答

  • 时间妖
    2015-08-27 08:30:53

    这么说吧,作用域范围为page的本质对象是pageContext,而作用范围为request的本质对象为request。

    两个对象在代码级别是分别创建了一个HashMap<String, Object> attributes,当调用getAttribute时,实际上调用的是不同的attributes,所以request作用范围的内容与page是无关的。


    但是,在页面转发时,转发的是request+response,没有page,所以在转发后的页面中原本的page作用范围的内容是不存在的。只会新建一些

  • sNAil_0022
    2015-03-09 15:40:55

    个人理解是在testScope.jsp中的request对象是dologin的request对象,所以当request.getAttribute("myUsers")应该返回testScope.jsp中的Users实例对象myUsers,但是其中设置的作用域范围是page,即在当前页面实例对象有效,所以得到了null。是这样理解吗?

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248279 学习 · 3071 问题

查看课程

相似问题