我正在尝试创建一个自定义标签,该标签将充当标准组件的包装器,并将定义一些常见属性的值
例如,自定义标签将如下所示
<ui:component xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jstl/core">
<rich:datascroller fastControls="false" fastStep="false" maxPages="20" id="#{value}"/>
</ui:component>
然后,每次我需要一个 datascroller 组件时,我都可以使用这个标签
<my:dataTable id="componentId"/>
我的问题是我是否可以为我的自定义标签提供属性,这些属性将被“转移”到 jsf 组件,而无需明确指定每一个。例如考虑以下使用我的自定义组件
<my:dataTable id="componentId" pagesVar="books" stepControls="true"/>
和这个
<my:dataTable id="componentId" pagesVar="items" renderIfSinglePage="false"/>
属性 pagesVar、stepControls、renderIfSinglePage 应该被传递给 rich:datascroller 组件。我知道我可以做这样的事情
<rich:datascroller pagesVar=#{pagesVar ? pagesVar : ''} stepControls=#{stepControls ? true: false}/>
但我想知道是否有一种方法可以传递所有属性而不指定每个属性