我有一张表,其中一列用于重计算(=等待很长时间)。
我想在页面中添加Ajax支持,以便表格显示不完整,几秒钟后Ajax会添加此特定列的数据。
我该怎么做?
感谢。
答案 0 :(得分:0)
您需要推送或类似技术。看一下icepush,题词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引用带有id my-form的h:commandLink内部表单。此commandLink应附加一个操作,该操作将填充缺少的数据。当然你可以用css隐藏命令链接。结果将是一个带有空表的初始页面和ajax更新,在后台获取缺少日期的处理。
我对这个例子中的事件初始化并不是100%肯定,你可能需要自己微调,但我已经成功地使用了jsf.ajax.request。
答案 1 :(得分:-1)
如果你想在h:inputText中使用ajax支持,那么这里是示例
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>
Bean文件中的
public void codeValue(String value){
try{
info("HERE IS YOUR VALUE : " + value);
// TYPE YOUR CODE......
}catch(Exception e){
e.printStackTrace();
}
}