Richfaces 4——AjaxActionComponent的替代品



我们正在将一个应用程序从jsf 1.2迁移到jsf 2.0,并将Ajax4JSF (Ajax4JSF -1.1.1)升级到Richfaces 4.2.2。在我们的旧代码中,有一些地方我们使用org.ajax4jsf.framework.ajax.AjaxActionComponent以编程方式设置一些组件的"renderer"属性。相关代码如下:

public void changeReRender(UIComponent comp){
    AjaxActionComponent commandAjax = (AjaxActionComponent)comp;
    HashSet values = new HashSet();
    values.add("idToBeRerendered");
    commandAjax.setReRender(values);
}
但是在Richfaces 4中,AjaxActionComponent类被删除了。是否有一个类,可以用来代替AjaxActionComponent,或另一种方式来编程改变uiccomponent的"渲染"属性?

在JSF2中,有一种使用PartialViewContext对象以编程方式呈现id的更通用的方法。试试下面的代码片段

      public void changeReRender(UIComponent comp){
            // AjaxActionComponent commandAjax = (AjaxActionComponent)comp;
            // HashSet values = new HashSet();
            // values.add("idToBeRerendered");
            // commandAjax.setReRender(values);
           FacesContext context = FacesContext.getCurrentInstance();
           PartialViewContext partialContext =  context.getPartialViewContext(); //obtain a reference to the PartialViewContext object
           //add the desired id to the list of render ids 
           partialContext.getRenderIds().add("idToBeRerendered");
        }

相关内容

  • 没有找到相关文章

最新更新