首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSF自定义标记包装器动态参数

JSF自定义标记包装器动态参数
EN

Stack Overflow用户
提问于 2012-04-24 17:53:44
回答 1查看 1K关注 0票数 2

我正在尝试创建一个自定义标记,它将充当标准组件的包装器,并定义一些常见属性的值

例如,自定义标记将如下所示

代码语言:javascript
复制
<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组件时使用这个标记

代码语言:javascript
复制
<my:dataTable id="componentId"/>

我的问题是,我是否可以为我的自定义标记提供属性,这些属性将被“传输”到jsf组件,而不需要显式地指定每个属性。例如,考虑以下自定义组件的用法

代码语言:javascript
复制
<my:dataTable id="componentId" pagesVar="books" stepControls="true"/>

还有这张

代码语言:javascript
复制
<my:dataTable id="componentId" pagesVar="items" renderIfSinglePage="false"/>

属性pagesVar、stepControls、renderIfSinglePage应该传递给rich:datascroller组件。我知道我可以做这样的事情

代码语言:javascript
复制
<rich:datascroller pagesVar=#{pagesVar ? pagesVar : ''} stepControls=#{stepControls ? true: false}/>

但我想知道是否有一种方法可以传递所有属性而不指定每个属性

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-24 20:35:08

,但我想知道是否有一种方法可以传递所有属性而不指定每个属性

不支持,标记属性不支持任何形式的继承。

但是,您可以进一步简化您的特定示例。

代码语言:javascript
复制
<rich:datascroller pagesVar="#{pagesVar}" stepControls="#{stepControls}" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10295587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档