添加饼干在JSF的PhaseListener

问题描述 投票:0回答:1

我在使用JSF 1.1版的传统应用程序

我想设置一个cookie中的所有反应,而是通过PhaseListener实施的,而不是因为具体要求通常Filter

我不喜欢的东西:

public class MyPhaseListener implements PhaseListener {

    public PhaseId getPhaseId() {
        return PhaseId.ANY_PHASE;
    }

    public void beforePhase(PhaseEvent event) {
    }

    public void afterPhase(PhaseEvent event) {
        if (event.getPhaseId() == PhaseId.RENDER_RESPONSE) {
            HttpServletResponse httpResponse = (HttpServletResponse) FacesContext
                            .getCurrentInstance().getExternalContext().getResponse();
            int cookieValue = 100;
            Cookie cookie = new Cookie("myCookie", "" + cookieValue);
            cookie.setPath("/");
            httpResponse.addCookie(cookie);
        }
    }
}

然而,当我检查在Chrome浏览器开发控制台的回应,我没有看到这个cookie。

我究竟做错了什么?

http jsf cookies
1个回答
0
投票

后RENDER_RESPONSE可能是晚了,RENDER_RESPONSE之前应该能正常运行。

© www.soinside.com 2019 - 2024. All rights reserved.