会话在扩展TagSupport的自定义TagLib中为null



我正在尝试在portlet应用程序中使用自定义标签库。

portlet使用Spring MVC portlet,但我认为这与此处无关。

标记扩展了TagSupport。它试图使用pageContext.getSession()获取HttpSession,但返回null,导致后面的代码中出现NullPointerException。

public class keyboard extends TagSupport {
    public int doStartTag() {
        ...
        HttpSession session = pageContext.getSession();
        ...
        session.setAttribute("sesKeyboad", keyboard); // <-- NullPointerException
    }
}

我不应该修改taglib,它已经在另一个portlet中工作了。知道为什么HttpSession没有在pageContext中初始化吗?

包含关联标记的JSP可能正在使用page指令并将其session属性设置为false

最新更新