【发布时间】:2012-07-10 09:15:42
【问题描述】:
我一直在为 Flash-scope 苦苦挣扎 (我知道在 JSF 2.0 中它不像其他“范围”,但通常被称为一个)。 (莫哈拉)
我的问题是 flash-cookie 绑定到将对象放入 flash 中的视图的路径。
这导致对象在重定向到同一应用程序中的不同路径后不可用。
我们需要在重定向导航的另一端有可用的字符串(可能还有对象)。
我已经实现了一个@WebFilter,其目的是覆盖它并用以下包装器替换ServletResponse。
private class ResponseWrapper extends HttpServletResponseWrapper{
private final String path;
public ResponseWrapper(HttpServletResponse response, String contextpath) {
super(response);
this.path = contextpath;
}
@Override
public void addCookie(Cookie cookie) {
// Hardcoded name from jsf-impl # com.sun.faces.context.flash.ELFlash
final String FLASH_COOKIE_NAME = "csfcfc";
if (cookie.getName().equals(FLASH_COOKIE_NAME)){
cookie.setPath(path);
}
super.addCookie(cookie);
}
}
实际上,此包装器将修改 flash-cookie 以绑定到应用程序上下文根。
我的问题是这是否会导致我无法监督的其他问题。
我不明白为什么 Flash 首先应该绑定到视图的路径。
【问题讨论】:
标签: jsf-2 servlet-filters flash-scope