我的應用程序允許用戶在消息字段中輸入文本,並且在htat時間輸入時,必須允許管理員查看在不同控制檯中鍵入的內容。richfaces使用ajax向服務器發送數據
爲此 我需要定期發送數據到託管bean,並從那裏到業務層。
<h:form>
Name : <h:inputText id="name" value="#{clockBean.name}"/>
Message: <h:inputText id="age" value="#{clockBean.msg}"/>
<a4j:poll id="poll" interval="20000" enabled="#{clockBean.enabled}" action="#
{clockBean.process}" render="clock,counter"/>
<a4j:log/>
</h:form>
我有名字和味精managedBean性質,我需要訪問的名稱和味精性質,並將它們發送到業務層,當我在 過程()的clockBean的方法管理的Bean處理它們。
@ManagedBean
@ViewScoped
public class ClockBean implements Serializable{
private string msg;
private string name;
private boolean enabled;
public void process(){
System.out.println("timer event calling *** - msg is "+msg+" : name is "+name); }
//getters setters & rest of the code
當前我的bean作用範圍爲ViewScopedand當輪詢每20秒運行一次時,我會爲2個字段獲取空值。 如何在給定時間間隔內運行輪詢時獲取名稱和msg屬性值? 有沒有更好的方法來解決這個問題?
是的,我會堅持他們..我真正的問題是我如何通過managedBean定期發送數據到業務層。 如何在richfaces中根據輪詢功能定期做ajax提交? – Sanath 2011-06-20 07:40:47
我不會用輪詢來完成它,因爲即使數據沒有改變,輪詢也會每次執行請求。我會用onchange事件,隊列和請求延遲來做到這一點。 如果`a4j:poll`沒有提交表單(在richfaces中的bug可能?),你可以用`a4j:function`輕鬆實現,並且只需創建一個js函數並使用js中的`setInterval()`調用它。 – 2011-06-20 10:22:33