2010-08-21 7 views
0

J'ai essayé si fort mais je ne peux pas obtenir un simple Richfaces AjaxStatusTag inséré dans ma page. Je génère les composants à partir du code Java, pas xhtml. C'est ce que je fais:JSF AjaxStatusTag comment ajouter par programme

AjaxStatusTag deleteStatus = new AjaxStatusTag(); 
    FacetTag start = new FacetTag(); 
    start.setName("start"); 
    HtmlGraphicImage pic = new HtmlGraphicImage(); 
    pic.setUrl("/resources/images/ajaxLoaderLong.gif"); 
    pic.setAlt("ajaxLoaderLong.gif"); 
    start.setValue("start", pic); //how to add pic to FacetTag? 
    start.setParent(deleteStatus); 

Je ne suis même pas sûr de la FacetTag soit ... D'autres cas, par exemple, d'avoir une division simple, avec un lien, il est facile d'obtenir les enfants de la div puis ajoutez le lien vers cette collection mais AjaxStatusTag et FacetTag sont différents et je n'ai aucune idée de comment résoudre ce problème.

Toute aide est appréciée!

acclamations, Balazs

Répondre

0

ok, donc je l'ai résolu. Voici ce que je l'ai fait:

private static void renderAjaxStatus(UIComponent holderRegion, HtmlAjaxCommandLink ajaxLink, String statusID) { 

     UIComponent status = FacesContext.getCurrentInstance().getApplication().createComponent(HtmlAjaxStatus.COMPONENT_TYPE); 
     status.setId(STATUS_ID + statusID); 
     HtmlPanelGroup panelGroup = (HtmlPanelGroup) FacesContext.getCurrentInstance().getApplication().createComponent(HtmlPanelGroup.COMPONENT_TYPE); 

     Div div = new Div(); 
     div.setStyleClass(STATUS_COVER); 

     HtmlGraphicImage pic = new HtmlGraphicImage(); 
     pic.setUrl(RESOURCES_IMAGES_AJAX_LOADER_GIF); 
     pic.setAlt(STATUS_ID); 
     pic.setStyleClass(STATUS_PIC_STYLECLASS); 

     panelGroup.setStyleClass(STATUS_PANEL_STYLECLASS); 
     panelGroup.getChildren().add(div); 
     panelGroup.getChildren().add(pic); 

     deleteStatus.getFacets().put("start", panelGroup); 
     holderRegion.getChildren().add(status); 

     ajaxLink.setStatus(STATUS_ID + statusID); 
} 

acclamations, Balazs

Questions connexes