我有这样的东西:
<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" />