在设置时间后刷新数据并调用backingbean方法
Refreshing data and calling backing bean method after set time
在我的页面中,我有一个rich:datatable,它从后台bean获取数据。我想在bean中调用一个方法来刷新数据,然后刷新表。
我目前有以下情况,但方法正在被调用,但表仍然没有刷新
<f:view>
<h:form>
<a4j:region>
<a4j:poll id="poll" interval="5000" action="#{attendance.updateData()}" enabled="true" reRender="poll,attendanceList"/>
</a4j:region>
<rich:dataTable width="500" id="attendanceList" reRender="scroller"
rows="#{attendance.getRows()}" columnClasses="attendance"
rowClasses="even-row, odd-row"
value="#{attendance.getData()}" var="a"
style="width:100%" rendered="#{attendance.renderAttendanceList}"
onbegin="waitCursor(true)" oncomplete="waitCursor(false)">
通常,我定义要在a4j:poll
本身中调用的操作:
<a4j:poll id="poll" interval="1800000" action="#{viewManagedBean.actionToBeCalled}" enabled="true" reRender="poll,attendanceList"/>
此外,请注意,您在两个单独的表单中定义了a4j:poll
和rich:dataTable
,而在表单中没有指定prependId="false"
。但是,您引用的是没有表单ID的dataTable(在reRender
中)。
根据OP评论编辑。以下是如何处理prepend id,您有两种可能的方法:
- 只需将
prependId="false"
添加到表单中 - 不要添加
prependId="false"
,而是定义表单ID,并在reRender
部分中使用这些ID,如下所示:reRender="theIDYouGaveToYourForm:theIdOfYourDataTable"
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 使用JavaScriptvar或其他标记值从JSF backingbean调用函数
- JSF 1.1——无页面刷新的backingbean调用操作方法(通过ajax/javascript)
- 使用从backingbean调用的JavaScript制作锚点
- onbeforeunload javascript调用backingbean方法
- 在设置时间后刷新数据并调用backingbean方法