jsf是否有onrerender事件



我有一个a4j:outputPanel。我点击页面中的另一个位置重新绘制,我想在重新绘制outputPanel时激发一个动作。

是否有一个onrerender事件或其他什么?我试过了,也找过了,但我做不到我想做的事。我知道我可以使用一个完整的事件来触发重新发布操作,但这是我不想做的事。

不管怎样,你有什么想法吗?我不需要确切的解决方案,只要有想法就能帮助我找到解决问题的方法。

编辑:很抱歉犯了这个错误,我想启动的操作是js操作。

尝试放置

<f:event listener="#{myBean.myAction}" type="preRenderComponent"></f:event>

在您的outputPanel内部。。。

public void myAction(ComponentSystemEvent componentSystemEvent) {  
   //some code goes here...
}  

如果你想从你的托管bean方法调用js代码,你可以使用Primefaces-RequestContext

public void myAction(ComponentSystemEvent componentSystemEvent) {  
    RequestContext requestContext = RequestContext.getCurrentInstance();  
    requestContext.execute("alert('wow')");
}

如果您确定操作重新发送组件,那么为什么不将其添加到操作本身中呢。您还可以使用Daniel建议的方法,并从您的Java方法中添加JavaScript调用。Icefaces附带了一个JavaScript上下文类,我相信richfaces也会有类似的东西。

尝试<a4j:ajax/>组件的onbeforedomupdate

<a4j:outputPanel>
   <a4j:ajax onbeforedomupdate="yourJs();"/>
</a4j:outputPanel>

相关内容

  • 没有找到相关文章

最新更新