java - JSF2 : add ui:include to binding object's children

标签 java jsf facelets jsf-2 primefaces

我有一个绑定(bind)到支持 bean 的 UIComponent。我想通过我的支持 bean 的 init 方法向与 ui:include 标记相对应的组件添加一个子组件。

例如:

<p:tab>
    <ui:include src="/page.xhtml" />
</p:tab>

我想在我的支持 bean 中创建它,例如:

<p:tab binding="${bean.tab}" /> 

所以基本上我正在寻找 ui:include 的相应 UIComponent 类,这样我就可以将其作为子项添加到我的选项卡属性中。

谢谢!

更新:

我现在正在尝试使用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); 

关于java - JSF2 : add ui:include to binding object's children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3405156/

相关文章:

java - 在 Android 中保存文件

java - 如何正确重新编译apk文件?

java - 如何在表格布局中使用 richfaces 的自动完成功能?

java - 使用 Java EE Bean 保存表单数据列表并打印 JSF XHTML 数据表中的数据

jsf - PrimeFaces。 <p :editor> tag 的内容安全策略问题

parameters - JSF参数传递

java - 当我尝试使用我的 jsf 自定义标签时,为什么会出现错误 "prefix [..] is not defined"?

JSF - 使用 EL 浏览和打印 ArrayList<String[]> 中的值

java - Maven 原型(prototype)插件未应用所有属性

java - mxHierarchicalLayout 忽略 isVertexMovable