2012-03-13 2 views
0

私は、データベースからイメージ名を読み込み、それらをWebページに表示するソリューションを探しています。私は、画像を表示する際 基本的に、私はこのようにそれを実行します。データベースからイメージ名を動的にロードし、jsf 2.0を使用して表示します。

<h:graphicImage value="#{resource['mywebapp:image.png']}"> 
</h:graphicImage> 

だから今の代わりimage.pngの私は、動的に代替画像を読み込むしたいと思います。問題は、ELのネストされた式を別のものの内部で使うことができないことです(少なくとも私は方法を見つけられませんでした)。それはそのようにレンダリングされるので、この場合にも助けないバッキングBeanにロジックを置くために:

<img src="#{resource['mywebapp:somedynamicallyloadedimagename.png']}"> 
</img> 

直接バッキングBean内のパスを生成することで、働く唯一のもの:

public String getImage() { 
    this.image = "/mywebapp/javax.faces.resource/"+this.image+".jsf?ln=images"; 
      return image; 
}          

しかし、この「解決策」は、すべてがハードコードされているため、エレガントではありません。これは私がプロダクションアプリに入れるものではありません。 これを行うには、どのような良い解決策がありますか? 私は経験豊富なJSFコーダーではないので、このトピックに関するいくつかの考えを高く評価したいと思います。事前に感謝しています!

答えて

1

<h:graphicImage library="images" name="#{generated.name}" /> 
+0

おかげでたくさんお試しください!完璧に動作します! – user871784

関連する問題