问题描述
|
xyz.xhtml页面上的按钮确实调用了此代码(使用ajax)。
FacesContext fc = FacesContext.getCurrentInstance();
NavigationHandler nh = fc.getApplication().getNavigationHandler();
nh.handleNavigation(fc,null,\"home\");
主页指向abc.xhtml。该页面包含一个应刷新的表,但是不会发生。任何想法?
不使用自己的JavaScript怎么刷新?我有一个使用onload属性和JavaScript的解决方法,该方法使用ajax重新加载表。但这确实是“更讨人喜欢”的屏幕。该解决方案并不复杂。
我正在使用JSF 2,OpenFaces 3和IE8。
先感谢您!
解决方法
我不明白您为什么喜欢这样的导航处理程序。由于我从未使用过OpenFaces部分,因此我不确定,因此这里仅是基本的JSF 2.x方法(带有
<f:ajax>
),以给出如何实际完成操作的基本概念:
<h:form>
<h:commandButton value=\"refresh\" action=\"#{bean.refresh}\">
<f:ajax render=\":table\" />
</h:commandButton>
</h:form>
<h:dataTable id=\"table\" value=\"#{bean.list}\" var=\"item\">
...
</h:dataTable>
与
public void refresh() {
list = someService.list();
}