我努力了但是我无法在我的页面中插入简单的Richfaces AjaxStatusTag。我从Java代码生成组件,而不是xhtml。这就是我的工作:
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 ......其他情况,例如要有一个带链接的简单Div,很容易获得div的子项然后添加到该集合的链接,但AjaxStatusTag和FacetTag是不同,我不知道如何解决这个问题。
感谢任何帮助!
欢呼声, 巴拉兹
答案 0 :(得分: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);
}
欢呼声, 巴拉兹