私は、指定された一連のイメージのイメージ遷移をレンダリングするカスタムJSFコンポーネントを作成しています。コンポーネントによって使用されるイメージのリストは、コンポーネントのユーザーによって指定されます。カスタムJSFコンポーネントの属性リスト
メインコンポーネントはレンダリングを行い、生成されるマークアップはhtmlではありません。
私はちょうどJSFを学んだし、カスタムコンポーネントにパラメータの属性のリストを渡すために設立されたパターンがある場合、私は思っていた:
ユーザーは、このような属性を渡すために期待されるだろう:
<i:imageComponent width="480" height="320" imageUrls="img1Url1, imgUrl2" imageCaptions="imageCaption1, imageCaptions2"/>
そして、これらの属性をコンバータを使用してサーバのリストに変換するか、 これはもっと自然でしょうか?私の場合は
<i:imageComponent width="480" height="320">
<i:image id="im1" href="url1" caption="caption1"/>
<i:image id="im2" href="url2" caption="caption2"/>
<i:imageComponent/>
私はちょうどに渡すための自然な方法であるかを把握したいので、すべてのレンダリングを行うことになるメインimageComponentコンポーネントの属性のリスト
私はリピータのデザインは気にしませんが、それは私も "イメージ"コンポーネントを定義する必要がありますか? メインの「imageComponent」レンダラーはすべてのレンダリングを行う必要があるため、イメージタグで指定された情報を含むすべての情報が必要な問題です。また、画像タグにはレンダリングがありません。これは典型的なコンポーネントですか? –
レンダリングしないコンポーネントがあればOKです(h:columnを参照)。 UIComponent.getRendersChildrenも参照してください。http://java.sun.com/javaee/5/docs/api/javax/faces/component/UIComponent.html#getRendersChildren() – McDowell