在JSF中可以通过ajax刷新页面吗?



我有这样的东西:

<h:commandButton action="#{MyBean.action()}">
   <f:ajax render ="@all"/>
</h:commandButton>

是否可以在ajax渲染中替换"@all"来刷新页面?

使用这段代码,我的页面不会刷新,如果我按下F5

这在ajax中是不可能的。只需删除<f:ajax>并发送一个重定向到self in action方法。

<h:commandButton value="Submit and refresh" action="#{bean.action}" />
public String action() {
    // ...
    FacesContext context = FacesContext.getCurrentInstance();
    return context.getViewRoot().getViewId() + "?faces-redirect=true";
}

或者如果您实际上不需要执行业务操作,则只需使用没有结果的<h:button>

<h:button value="Refresh only" />

相关内容

  • 没有找到相关文章

最新更新