我有两个内部有<h:dataTable>
的复合组件,它们的区别仅在于几个<h:column>
的内容。复制粘贴的最佳方法是什么?复合组件的可能性是什么?我知道标签,但我的项目中没有任何标签。所以,它对我来说不是解决方案。
答案 0 :(得分:1)
向复合组件添加属性:
<cc:interface>
<cc:attribute name="columnType" type="java.lang.String" required="true" />
</cc:interface>
然后在实施中
<h:column rendered="#{cc.attrs.columnType eq 'typeAColumns'>
#{data.valueForColumnTypeA}
</h:column>
<h:column rendered="#{cc.attrs.columnType eq 'typeBColumns'>
#{data.valueForColumnTypeB}
</h:column>
然后您可以像
一样使用它 <my:compositeTable columnType="typeAColumns"/>
<my:compositeTable columnType="typeBColumns"/>