2 huangbo19930910 huangbo19930910 于 2016.02.14 21:22 提问

关于jsp中的Jspcontext和pageContext的问题,求大牛帮助。

今天看见JspContext的实例对象可以强转为PageContext对象的实例对象,
可是PageContext是JspContext的直接子类,这怎么可以强转。我好奇的验证了这段代码:jspContext instanceof PageContext 和PageContext pageContext =
(PageContext) jspContext, (其中jspContext是JspContext的实例对象),我这么写了后编译都出现错误,为什么别人的代码就可以正常的执行啊,求解。大牛帮帮忙

1个回答

fk002008
fk002008   2016.02.14 22:12
已采纳

你看以前使用容器的时候放入的对象类型比如是Integer,那么取出来就是这个Object了
使用强转可以没事,为什么呢?
那是因为父类对象如果引用过子类的对象就可以把父类对象强转为子类

但是如果二者没有引用关系,那么强转就会报错 java.lang.ClassCastException

所以 JspContext 对象如果有如下的命令存在的话是可以的
JspContext jsp = pageContext
这个引用存在前提下转是可以的

没有血缘关系转换是不可以的,记住这个就可以了

你可以编写2各类有继承关系实验下就知道了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JspContext、pageContext等的区别
pageContext对象代表页面上下文,主要用于访问JSP之间的共享数据。使用pageContext可以访问page、request、session、application范围的变量。pageContext对象继承于JspContext。尽管简单标记得到的是JspContext的一个引用,而传统标记得到的是PageContext的引用,但是简单标记的JspContext通常就是一个PageCon
jsp中的pageContext对象
pageContext对象简介 pageContext对象是javax.servlet.jsp.PageContext类的实例对象,javax.servlet.jsp.PageContext类是javax.servlet.jsp.JspContext的子类。 pageContext对象封装了当前JSP页面的运行信息,它提供了返回JSP页面的其他隐式对象的方法。 pageContex
JSP内置对象之PageContext对象
一、PageContext对象 1.pageContext对象是javax.servlet.jsp.PageContext类的实例,主要表示的是一个JSP页面的上下文。 2.pageContext对象有如下一些方法: (1)页面跳转 public abstract void forward(String relativeUrlPath)throws ServletException, IO
JSP的9个内置对象之pageContext对象
这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。使用pageContext可以访问page,request,session,application范围内的变量。一,用什么方法获取page,request,session,application范围的变量? pageContext是PageContext类的实例,它提供了如下两个方法来访问page,request,session,ap
详解JSP九大内置之pageContext和exception
从上次博客写的开始: config对象实现的是ServletConfig对象 config使用的而比较少,这个对象一般用来配置指定的jsp的参数,如同servlet中的参数(web.xml 中配置参数) 注意:session也是需要在页面上设置page指令的.(我们之所以能调用session对象,是因为其 对象是默认的,也就是在page指令中有session="true"),假如设置了s
pageContext对象、JSP标签、如何查找JSP页面中的错误
pageContext对象、JSP标签、如何查找JSP页面中的错误 pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个域对象,可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。  通过pageContext获得其他对
javax.servlet.jsp.PageContext cannot be resolved to a type
某个JSP内容如下,在Eclipse会出现JSP Problem如标题所示的javax.servlet.jsp.PageContext cannot be resolved to a type:      上网查询,解决之道是把改为,就不会出现这个problem,可是奇怪的是,之后再改回<c:set var="ctx" value="${pageContext.request
maven中解决javax.servlet.jsp.PageContext cannot be resolved to a type
在eclipse环境下用maven出现:javax.servlet.jsp.PageContext cannot be resolved to a type。 这是因为没有引入jsp-api引发的问题
JSP---JSP中4个容器-pageContext使用
这里重点只讲pageContext容器的用法哦。 因为另外的3个容器(request,session,application)在前面的servlet中已经演示过很多遍了 容器 作用域 pageContex 仅仅是当前页面,无法传参 request 当前页面,可以传参 session 同一个JS
java web之路 jsp page对象 pageContext对象
page对象指的就是当前页面本身,有点类似于this指针,他是java.lang.Object类的实例,常用方法如下: class getClass() 返回此Object的类 String toString() 把此Object对象转为String对象 (Object的方法他都有)