簡體   English   中英

JSF2:將ui:include添加到綁定對象的子代中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM