【问题标题】:Why pagecontext in customtag cause Null Exception为什么 customtag 中的 pagecontext 会导致 Null 异常
【发布时间】:2012-10-29 09:55:31
【问题描述】:

我尝试编写关于自定义标签的演示代码,但是这个问题..我讨厌它,我可以自己解决它。

这是我的 .TLD 文件:

<tag>
    <name>custom</name>
    <tagclass>MyTag.CustomerTag</tagclass>
    <bodycontent>empty</bodycontent>
</tag>

这是我的班级 CustomerTag:

public class CustomerTag extends TagSupport {

    private PageContext _pageContext;

    @Override
    public int doStartTag() throws JspException {
        try {
            _pageContext.getOut().println("kakaka"); <-- **here cause exception**
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
        return SKIP_BODY;
    }

    @Override
    public int doEndTag() throws JspException {
        return SKIP_PAGE;
    }
}

这是我的 JSP 文件:

<%@taglib uri="/WEB-INF/Marko.tld"  prefix="myTag" %>
<myTag:custom />

请帮帮我,谢谢大家

【问题讨论】:

    标签: java jsp jsp-tags custom-tags


    【解决方案1】:

    在您的代码中,您定义了一个单独的 _pageContext 字段,您永远不会初始化该字段;但是,通过扩展 TagSupport,您应该可以访问 JSP 自动为您初始化的字段 pageContext。

    尝试删除变量声明并改为调用pageContext.getOut().println("kakaka");。

    【讨论】:

    • 是的,我通过删除 decraling _pagecontext 来解决它,它已经在我的课堂上。非常感谢你:)
    猜你喜欢
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2023-03-21
    • 2010-09-16
    相关资源
    最近更新 更多