繁体   English   中英

JSF NavigationHandler#handleNavigation + 清除缓存

[英]JSF NavigationHandler#handleNavigation + clear cache

xyz.xhtml 页面上的按钮会调用此代码(使用 ajax)。

FacesContext fc = FacesContext.getCurrentInstance();
NavigationHandler nh = fc.getApplication().getNavigationHandler();
nh.handleNavigation(fc, null, "home");

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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM