如何解决我可以在JSF渲染响应阶段跳过生成html并更新组件吗?
例如,我有一个commandButton
,如下所示:
<p:commandButton
actionListener="#{logicBean.doSomething}"
update="component1 component2 component3"
/>
那么,是否可以跳过重新生成并从component3
方法渲染logicBean.doSomething
的情况?这意味着返回的响应中没有component3
的新HTML。
我已经尝试过FacesContext.getCurrentInstance().getPartialViewContext().getRenderIds().remove("component3");
,但是它不起作用。
解决方法
您可以在Bean之外进行更新:
public void doSomething() {
/* do the stuff */
if(haveToDo)
PrimeFaces.current().ajax().update( "component3" )
// with older primefaces
// RequestContext.getCurrentInstance().update( "component3" );
}
,但您必须查找完整ID。可能是“ tab2:myform:component3”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。