Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 如何通过轮询机制调用托管bean方法?_Ajax_Jsf - Fatal编程技术网

Ajax 如何通过轮询机制调用托管bean方法?

Ajax 如何通过轮询机制调用托管bean方法?,ajax,jsf,Ajax,Jsf,我需要的是某种机制,用于在定义的时间间隔内从托管bean执行方法……因此,基本上我需要apache trinidad的poll标记: <tr:poll interval="5000" pollListener="#{myManagedBean.doPoll}" id="pollComponent"/> 但是:我们的项目中没有特立尼达岛的实施,也无法将其纳入当前项目阶段。我们只有MyFaces2.0.6。JSF2的实现 我已经成功地编写了一个复合组件,该组件在定义的时间间隔内更新

我需要的是某种机制,用于在定义的时间间隔内从托管bean执行方法……因此,基本上我需要apache trinidad的poll标记:

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

但是:我们的项目中没有特立尼达岛的实施,也无法将其纳入当前项目阶段。我们只有MyFaces2.0.6。JSF2的实现

我已经成功地编写了一个复合组件,该组件在定义的时间间隔内更新特定字段,如本文所述:

本例只更新包含当前时间的输出文本

但我真正需要做的不是简单地更新一个字段,而是调用一个包含一些业务逻辑的方法

有没有办法用MyFaces和一些“手工制作”的复合组件来实现这一点

是否可以从上面的jsf工作教程中调整ajaxPoll组件,使其能够执行特定的托管bean方法

提前感谢所有提示

您可以提交一个最简单(也是最黑)的隐藏表单

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

嗯……好吧,我不太喜欢使用隐藏的表单和类似的东西,但至少,这是一个可能的解决方案,不需要在我们的项目中引入新技术。非常感谢,巴卢斯克!
document.getElementById('poll:link').onclick();