2010-08-21 7 views
0

열심히 시도했지만 단순한 Richfaces AjaxStatusTag를 내 페이지에 삽입 할 수 없습니다. xhtml이 아닌 Java 코드에서 구성 요소를 생성합니다. 그게 내가 할 수있는 작업은 다음과 같습니다JSF AjaxStatusTag 프로그래밍 방식으로 추가하는 방법

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); 

내가 추가 한 후 사업부의 자식을 얻고 쉽게 링크와 함께 간단한 사업부를 가지고, 예를 들면 다른 경우 ... 어느 FacetTag에 대한도 확실하지 해요 AjaxStatusTag와 FacetTag는 다르며이 문제를 해결할 방법이 전혀 없습니다.

도움을 주시면 감사하겠습니다.

건배, 는

답변

0

확인 발라 즈, 그래서 그것을 해결했다. 여기에 내가했던 일이야 :

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); 
} 

건배, 는

을 발라 즈
관련 문제