我正在尝试创建一个自定义标记,它将充当标准组件的包装器,并定义一些常见属性的值
例如,自定义标记将如下所示
<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}/>但我想知道是否有一种方法可以传递所有属性而不指定每个属性
发布于 2012-04-24 20:35:08
,但我想知道是否有一种方法可以传递所有属性而不指定每个属性
不支持,标记属性不支持任何形式的继承。
但是,您可以进一步简化您的特定示例。
<rich:datascroller pagesVar="#{pagesVar}" stepControls="#{stepControls}" />https://stackoverflow.com/questions/10295587
复制相似问题