2012-02-15 41 views
0

我需要的是某種機制在定義的時間間隔從託管bean執行的方法......所以,基本上,我需要投票標籤Apache的特立尼達:如何通過輪詢機制調用託管bean方法?

<tr:poll interval="5000" pollListener="#{myManagedBean.doPoll}" id="pollComponent"/> 

但是:我們不」我們的項目中沒有特立尼達實施,也無法將其納入當前的項目階段。我們所有的是MyFaces 2.0.6。執行JSF 2.

的,我已經成功地寫,因爲它是在這篇文章中概述了在規定的時間間隔,更新特定領域的複合材料部件:

http://jsfatwork.irian.at/book_de/ajax.html#!idx:/ajax.html:6.4.2

此示例除了更新包含當前時間的輸出文本外沒有其他任何操作。

但是我真正需要做的不是簡單地更新一個字段,而是調用一個包含一些業務邏輯的方法。

有沒有辦法通過MyFaces和一些「手工製造」複合組件實現這一點?

是否可以通過某種方式從上面的jsf-at-work教程中調整ajaxPoll組件,以便它能夠執行特定的託管bean方法?

在此先感謝您的所有提示!

回答

1

在最簡單的(和hackiest),你可以提交一個隱藏的表單

<h:form id="poll" style="display:none"> 
    <h:commandLink id="link"> 
     <f:ajax event="click" listener="#{bean.poll}" /> 
    </h:commandLink> 
</h:form> 

與這個JS

document.getElementById('poll:link').onclick(); 
+0

唔...好,我真的不喜歡使用隱藏的形式和事物像這樣,但至少,這是一個可能的解決方案,不需要將新技術引入到我們的項目中。 非常感謝,BalusC! – Stovokhor 2012-02-16 07:06:56

相關問題