我在Seam中处理会话和会话的方式有问题。我们有一些相当长的形式,大部分时间你开始填写第一个屏幕,然后一些动作在后台执行,用户离开计算机做一些工作,然后他们回来并注释工作。 / p>
问题在于,大多数情况下会话超时或会话超时。虽然可以通过拆分工作流轻松修复第二个,但第一个更重要,因为用户必须重新登录,导航到右侧屏幕,然后才能输入注释。
是否有一种简单的方法可以获得一个Ajax片段,以便在后台触发会话刷新。这将使我们能够无限期地保持会议的活力。
还有一种简单的方法可以让对话保持活力吗?
答案 0 :(得分:4)
您使用的是RichFaces吗?我们使用这样的东西来保持会话活着。
<a4j:poll interval="10000" reRender="form1" action="#{logger.userIsAlive}" />
“action”属性是可选的,我们使用它来保存已连接用户的记录。我们不会使用对话,但我会说这也可以使对话保持活跃。
如果您没有使用RichFaces,那么您可以使用像JQuery这样的AJAX框架来通过调用Servlet来ping服务器。