私はこの複合コンポーネントを持っています:
<cc:interface>
<cc:attribute name="image_1" />
<cc:attribute name="image_2" />
<cc:attribute name="image_3" />
</cc:interface>
<cc:implementation>
<div id="slider-container">
<div id="slider-small">
<h:graphicImage library="images" name="#{cc.attrs.image_1}" />
<h:graphicImage library="images" name="#{cc.attrs.image_2}" />
<h:graphicImage library="images" name="#{cc.attrs.image_3}" />
</div>
</div>
</cc:implementation>
私はこのように使用します:
<cs:small_slider
image_1="about/1.jpg"
image_2="about/2.jpg"
image_3="about/3.jpg"
/>
ただし、属性は 3 つに制限されています。次のように、同じ複合コンポーネントを使用して 3 つ以上送信する必要がある場合はどうすればよいですか。
<cs:small_slider
image_1="about/1.jpg"
image_2="about/2.jpg"
image_3="about/3.jpg"
image_4="about/4.jpg"
image_5="about/5.jpg"
/>
コンポーネントを再利用するためにこれを行いたいのですが、別のコンポーネントを作成したくありません。
UPDATE : @BalusC アプローチに従うと、次の HTML がレンダリングされます。
<!-- small slider -->
<div id="slider-container">
<div id="slider-small">
<img src="/brainset/javax.faces.resource/1.jpg.xhtml?ln=images" />
<img src="RES_NOT_FOUND" />
<img src="RES_NOT_FOUND" />
</div>
<div id="frame-slider-small"></div>
</div><!-- end #slide-container -->
他の画像は見つかりませんでした。最初の画像だけです。「about/2.jpg」と「about/3.jpg」という画像が存在すると確信しています。