私はJSF2.2、Bootsfaces 0.9.1での作業、Primefaces 6.0、JEE7とMySQL 5.7 DBとの組み合わせで5.2を休止しています。
は私が持っているもの:
私はイメージのセットを持つモデルを持っています。このセットには、タイトル、説明、ファイル名など、イメージの値を保持する私のカスタムImageクラスのインスタンスが含まれています。
イメージはファイルシステムに保存されており、モデルを格納するためのMySQL DBが用意されています。私は私のwebapp内のビューに画像を表示しようとし、すべて正常に動作します。私はブーツサーフェスからb:カルーセル・タグを使っていくつかの画像を表示しました。私が試した
次のステップは、異なるサイズのイメージのセットを表示するために使用していた:私はやってみました何
。次のコードはこれを実現する私の試みでした:
<b:carousel id="carousel" style="width: 800px; height: 400px;">
<ui:repeat value="#{modelDetailBean.modelImages}" var="img">
<b:carouselItem>
<b:image value="#{modelDetailBean.getImage(img)}"/>
</b:carouselItem>
</ui:repeat>
</b:carousel>
私のカルーセルに画像が表示されていないことを認識しました。それから、私はそれが動作しているかどうかを確認するために少なくとも1つの修正を追加しました。ただし、セットのすべてのイメージがカルーセルに存在することが認識されましたが、カルーセルはそれらを正しく考慮しません。
私の主な質問:カルーセルを移入するために繰り返しタグ:
はUIを使用することが可能ですか?
可能な場合:どうすればいいですか?私はここで間違って何をしていますか?
そうでない場合: JSFでこれを実現するにはどうすればよいですか?
!残念ながら私は別の問題に遭遇しました。私はそれについて新しい質問をします。 – mweber
さらに、 'b:カルーセル'と 'b:courouselItems'の間に' ui:repeat'を置くと、アイテムのHTML IDが変更されます。クライアント側のウィジェットが変更されたIDに対応しているかどうかは確認しませんでしたが、多くのウィジェットではそうではありません。さらに悪いことに、JSFツリーはBootsFacesの予想とは異なって見えます。それは 'ui:repeat'を見る。このコンポーネントは暗黙のうちに無視されます。 'b:carouselItem'は' ui:repeat'の子で、 'b:カルーセル'の孫です。私たちはBootsFacesにまだ孫を気にするよう教えていませんでした。さらに、 'ui:repeat'の子はレンダリングフェーズ中にレンダリングされます。これはBootsFacesのために遅くなります。 –
@Xtreme Biker:答えの最初の文章を言いたいことがあります。残りの答えは正しいです。 'b:carousel'は静的コンテンツを期待しているので、JSFツリーを修正するのが解決策です.JSTLタグがそうしています。 –