在 JBoss AS7 中工作,使用 Conversation Scope 在浏览器选项卡中管理用户的交互。
我注意到我的页面附加了 ?cid 参数。这很棒 - 直到用户为页面添加书签然后尝试返回它!对话过滤器给出“没有这样的对话”消息。
有没有更好的管理对话的方法?也许是实现或切换以使其使用隐藏字段(在 AJAX 中适当注意)?或者,我将不得不开始尝试拦截对话异常或修改过滤器!
谢谢 - 理查德
更远:
我正在拦截 BeforeRestoreView 事件以用于其他目的(主要是登录处理)。你会认为这会起作用:
/**
* @return true if there is no valid Conversation context.
*/
private boolean conversationNotActive()
{
Context conversationContext = m_beanManager.getContext(ConversationScoped.class);
return !conversationContext.isActive();
}
但我无法获得上下文来询问它是否处于活动状态!现在只会扔一个 Try-Catch 。