[英]JSF2: add ui:include to binding object's children
我有一個綁定到支持bean的UIComponent
。 我想通過支持bean的init方法將一個子級添加到與ui:include
標記相對應的組件中。
例如:
<p:tab>
<ui:include src="/page.xhtml" />
</p:tab>
我想在我的支持bean中創建它,例如:
<p:tab binding="${bean.tab}" />
因此,基本上我正在為ui:include尋找相應的UIComponent類,因此可以將其作為子級添加到我的tab屬性中。
謝謝!
更新:
我現在正在嘗試使用faceletContext.includeFacelet :)
我已經閱讀了該線程20次,但起初找不到解決方案,因此,在找到正確的方法后,這里是我的其他評論:
FacesContext facesContext = FacesContext.getCurrentInstance();
FaceletFactory defaultFactory = ApplicationAssociate.getInstance(facesContext.getExternalContext()).getFaceletFactory();
Facelet facelet = defaultFactory.getFacelet(xhtmlUrl);
然后,我創建了一個FaceletHandler來添加組件。
另一個解決方案是:
FaceletContext faceletContext = (FaceletContext) facesContext.getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY);
faceletContext.includeFacelet(parentComponent, xhtmlUrl);
好的,它正在工作:)從facescontext獲取faceletContext:
FaceletContext faceletContext = (FaceletContext) FacesContext.getCurrentInstance().getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.