【问题标题】:JBoss Seam cancel request with a buttonJBoss Seam 使用按钮取消请求
【发布时间】:2011-12-08 14:30:05
【问题描述】:

我有一个带有请求的应用程序,它从巨大的表(7 百万条记录)中获取列表,这可能需要 10 秒才能完成。

有没有办法让cancel 按钮取消请求,而不是等待上一个请求完成。目前,如果用户尝试单击cancel 按钮(页面重定向),则会抛出ConcurrentRequestTimeoutException

我可以增加这个超时时间,因为它现在设置为500 ms,但是用户必须等待上一个请求完成。我希望它取消之前的请求并立即重定向。

这可能吗?

按钮代码:

<s:button id="cancelEdit" value="Cancel" propagation="end"
  view="/reference/ProviderList.xhtml">
</s:button>

我还尝试在 page.xml 文件中使用 h:commandButton 并在重定向前结束对话。

【问题讨论】:

    标签: button jboss timeout seam


    【解决方案1】:

    通过在取消按钮上添加 actionListener="#{conversation.leave}" 属性来结束对话。如果你有一个propagation="none" 属性来代替。

    【讨论】:

    • 对不起,我忘了添加这些细节。我已经更新了我的帖子。但是,是的,我尝试使用上面的按钮传播和在重定向前的 page.xml 中结束对话。我认为我使用 end 而不是 none 并不重要,不是吗?
    • 结束(传播=结束)对话和离开(传播=无)之间有很大的区别。结束只会使长时间运行的对话成为正常对话(重复使用相同的对话 id)。离开它会将对话留在后台并开始新的对话。顺便说一句,我已经在您的用例上测试了传播=无,并且效果很好。仅仅结束对话并不能解决问题。
    猜你喜欢
    • 2021-12-29
    • 2012-01-12
    • 2010-10-31
    • 2012-06-03
    • 2023-04-06
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多