2012-04-24 12 views
2

私は標準コンポーネントのラッパーとして機能するカスタムタグを作成しようとしていますし、いくつかの共通の属性の値を定義しますJSFカスタムタグラッパー動的パラメータ

例えばカスタムタグは、この

のようになります。その後
<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> 

私は

<my:dataTable id="componentId"/> 

私の質問のようなdatascrollerコンポーネントを必要とするたびに、このタグを使用することができるようになりますが、私はATTRIBと私のカスタムタグを提供できるかどうかでありますそれぞれを明示的に指定せずにjsfコンポーネントに「転送」されることになります。例えば、私のカスタムコンポーネント

<my:dataTable id="componentId" pagesVar="books" stepControls="true"/> 

とpagesVar属性

この1

<my:dataTable id="componentId" pagesVar="items" renderIfSinglePage="false"/> 
、stepControlsの次利用を検討し、renderIfSinglePageが豊富に渡される必要があります。datascrollerコンポーネント。私は私がこの

<rich:datascroller pagesVar=#{pagesVar ? pagesVar : ''} stepControls=#{stepControls ? true: false}/> 

ような何かを行うことができます知っているが、それら

答えて

1

のそれぞれを指定せずにすべての属性を渡す方法がある場合、私は疑問に思ってますが方法がある場合、私は疑問に思って

いいえ、タグ属性はどのような形式の継承もサポートしていません。

ただし、特定の例をさらに単純化できます。

<rich:datascroller pagesVar="#{pagesVar}" stepControls="#{stepControls}" />