【发布时间】:2013-03-31 04:33:46
【问题描述】:
我必须创建屏幕以在视图中显示大量 JPA 实体。创建一个 facelet 并将一组字段传递给它会很棒,例如List<Object>。
facelet/自定义组件需要将列表中的每个元素转换为适当的标签以进行显示,例如h:selectOneMenu 的枚举字段,h:inputText 的字符串字段等。这需要在运行时完成。
最简单的方法是什么?
【问题讨论】:
我必须创建屏幕以在视图中显示大量 JPA 实体。创建一个 facelet 并将一组字段传递给它会很棒,例如List<Object>。
facelet/自定义组件需要将列表中的每个元素转换为适当的标签以进行显示,例如h:selectOneMenu 的枚举字段,h:inputText 的字符串字段等。这需要在运行时完成。
最简单的方法是什么?
【问题讨论】:
之前参与过一个从存储的配置动态创建整个页面的项目。你需要两个基本的东西
然后它变成动态创建组件、在代码中配置它们并将它们添加到通过绑定 bean 定义的父 UIComponent 的活动。这可能很棘手,但可以做到。
【讨论】:
<p:toolBar binding="#{primeFacesMenuBuilder.toolbar}"/>,瞧,它在运行时生成了整个工具栏。在这种情况下,工具栏是为每个用户唯一生成的,这真是太好了。在 facelet 的一个标签中,p:toolbar 做到了。在您描述 facelet 中的样子的场景中,例如我会将根 UIComponent 绑定到什么标签?