Java JSP页面上下文空指针

Java JSP页面上下文空指针,java,jsp,inheritance,nullpointerexception,taglib,Java,Jsp,Inheritance,Nullpointerexception,Taglib,我正在尝试为我的JSP TagLib类构建一个公共类 我有 类MyTag扩展了CustomTag { 公共int-doEndTag() { JspWriter out=pageContext.getOut();更改以下代码,然后再试一次: class CustomTag extends BodyTagSupport { public CustomTag() { JspWriter out = super.pageContext.getOut();

我正在尝试为我的JSP TagLib类构建一个公共类 我有

类MyTag扩展了CustomTag
{
公共int-doEndTag()
{

JspWriter out=pageContext.getOut();更改以下代码,然后再试一次:

class CustomTag extends BodyTagSupport {    
      public CustomTag()    {
           JspWriter out = super.pageContext.getOut(); 
      } 
} 

在调用
doEndTag()
时,第一个类中已设置了
pageContext
。在第二个类中,
pageContext
尚未设置,因此为
null
。这就是导致空指针异常的原因。

有关更多详细信息,请参阅。

但父构造函数不是在子构造函数之前调用的吗?我相信该构造函数不是在调用setPageContext()。根据文档:
此方法是在doStartTag()之前由JSP页面实现对象调用的
。好的,那么您知道在父类中使用pageContext的其他方法吗?如您所述,您似乎必须在父类(
doStartTag()
doEndTag()
)中创建一个方法,并让子类调用它。有趣的是,它完全起作用了。doStartTag()创建子类的对象时调用父类的。我不知道如何调用,但是nvm。谢谢!
class CustomTag extends BodyTagSupport {    
      public CustomTag()    {
           JspWriter out = super.pageContext.getOut(); 
      } 
}