2011-12-08 36 views
3

我有一個應用程序的請求從巨大的表(7密爾+記錄)中獲取列表,可能需要10秒鐘才能完成。JBoss Seam用按鈕取消請求

有什麼辦法可以讓cancel按鈕取消請求,而不是等待先前的請求完成。目前,如果用戶嘗試點擊cancel按鈕(頁面重定向),則它會拋出ConcurrentRequestTimeoutException

我可以增加此超時,因爲它現在設置爲500 ms,但用戶將不得不等待先前的請求完成。我希望它取消以前的請求並立即重定向。

這可能嗎?

按鈕代碼:命令按鈕和結束對話在page.xml文件之前重定向:

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

我也使用^ h嘗試。

回答

0

通過在您的取消按鈕上放置一個actionListener =「#{conversation.leave}」屬性留下對話。如果您有添加傳播=「無」屬性。

+0

對不起,我忘了添加這些細節。我已更新我的帖子。但是,是的,我嘗試用上面的按鈕傳播結束對話,並在page.xml重定向之前結束。我不認爲這是重要的,我使用結束而不是沒有,是嗎? – Mike

+0

結束(傳播=結束)對話和離開對話(傳播=無)有很大的區別。結局只是使長時間運行的對話成爲正常的對話(重複使用相同的對話ID)。離開它離開談話的背景,並開始一個新的。順便說一下,我已經測試了用例中的propagation = none,並且完美地工作。只是結束對話並不能解決問題。 – dcernahoschi

+0

感謝您的建議。它現在有效。 – Mike