2011-12-05 25 views

回答

0

您需要为此推送或类似的技术。看看icepush,primefaces poll。 Richfaces也提供了相近的功能。

更新:要实现这与一些JavaScript只有你可以在页面呈现后发出ajax更新。这可能类似于:

$(function() { 
    var event = document.createEvent("MouseEvents") 
    event.initEvent("click", true, true) 
    jsf.ajax.request(document.getElementById("my-form:my-command-link"), event, {render: "myTableId"}) 
}) 

其中my-command-link引用h-commandLink内部窗体,其ID为my-form。这个commandLink应该有一个附加的动作来填充缺失的数据。当然你可以用css隐藏命令链接。结果将是一个带有空表和ajax更新的初始页面,用于在后台获取丢失的日期处理。

在这个例子中,我不是100%确定事件初始化,你可能需要自己微调这个,但是我已经用jsf.ajax.request这个方法成功了。

+0

嗨,它看起来o.k但我怎么停止轮询后,我有表中的所有数据?谢谢 – user1082094

+0

Primefaces轮询可以通过它的api来停止,更多地探索示例。我不清楚icepush,通常你不会停止它,它只是挂起等待服务器广播,可能不会来。 – mrembisz

+0

嗨,是否有另一种方法来做到这一点?我需要一个会触发ajax函数来获取数据的事件。像onAfterLoad这样的事件。谢谢 – user1082094

-1

,如果你想使用h的Ajax支持:inputText的那么这里是实施

在XHTML文件

<h:inputText style=" width : 70px;" id="dempID" 
     value="#{InformationLoan.instance.Code}"> 
     <a:support event="onchange" limitToList="true" reRender="nameID" // form ID i haved use here. 
     action="#{InformationController.codeValue(InformationLoan.instance.Code)}"/> 
    </h:inputText> 

在豆文件

public void codeValue(String value){ 
    try{ 

     info("HERE IS YOUR VALUE : " + value); 
     // TYPE YOUR CODE...... 

    }catch(Exception e){ 
     e.printStackTrace(); 
    } 
} 
+0

嗨,我需要在表中的h:outputText上的ajax事件。 – user1082094