2017-06-15 4 views
0

私は以下のようなdataTableを持っています。ステータスの横にある別の列にステータス(成功/失敗)に基づいてローカルシステムに保存されているイメージを表示する必要があります。私は使ってみましたローカルシステムに格納されているJSF dataTableに画像を表示することはできますか?

<h:graphicImage value="../../images/failure.png" alt="Failure"> 

しかし、それはイメージを表示していません。そのような画像を追加することは可能ですか? urlで属性値を置き換える

<rich:dataTable value="#{state.Status}" var="dataItem" id="Tbl1" >  
     <f:facet name="header"> 
       <h:outputText value="Status" /> 
     </f:facet> 
     <rich:column> 
      <f:facet name="header">State</f:facet> 
      <h:outputText value="#{dataItem.State}"/> 
     </rich:column> 
     <rich:column> 
      <f:facet name="header">Status</f:facet> 
      <h:outputText value="#{dataItem.Status}"/> 
     </rich:column> 

     <rich:column> 
      <f:facet name="header">Image</f:facet> 
       ImageDisplay 
     </rich:column> 
    </rich:dataTable>  
+0

「ローカルシステム」とは何ですか?クライアント側?次に、サーバーから提供されるプレーンhtmlで成功できるかどうか試してみてください。おそらく(100%)そうではありません。だから、JSFではこれを行うことはできません。これは、JSFがこの点でhtmlジェネレータにすぎないからです。それがWebサーバー上のファイルシステムからのイメージであれば、Stackoverflowには約25の重複した質問があり、searchengineを介して多くのものが見つかるはずです(そして、この質問もデータ関連ではありません)。 – Kukeltje

+0

JSFはページコンテンツサーバー上に用意されています。つまり、イメージを表示する必要がある場合、サーバーはイメージが格納されている場所を知る必要があります。ローカルシステムはサーバから常にアクセス可能なわけではないので、サーバやDBにイメージを保存する方がよいでしょう。ページ上にイメージを表示するには、1)アプリケーション内のイメージを追加します(たとえば、web/imagesフォルダ内)。 2)相対パス(ローカルシステムにないサーバー上のパス)を使用してイメージを表示します。 –

+0

ありがとう..私はサーバー自体に追加しました。 – Pavithra

答えて

-1
<h:graphicImage value="../../images/failure.png" alt="Failure"> 

はproblem.Nowの画像が表示されます解決しました。

<h:graphicImage url="../../images/failure.png" alt="Failure"> 
+0

これはローカルファイルシステムで** NOT **です(127.0.0.1で実行し、IEを使用しない限り)。 – Kukeltje

関連する問題