我有类似<ui:repeat value="#{list}" var="a" />
where list
is 类型的东西,List<Action>
并且包含扩展的各种对象Action
。根据 的实际类型Action
,我想渲染一个不同的复合组件(例如,对于ActionA
我要渲染组件A
和对于ActionB
我要渲染B
,B
如果要获取 type 的值会抛出异常ActionA
)。我怎样才能做到这一点?似乎在复合组件上使用rendered="#{a.type == 'ACTION_A'}"
(其中type
的一个属性Action
)不起作用,因为每次迭代都ui:repeat
将所有组件添加到树中,因此它将值发送a
到每个复合组件。
谢谢你。