0

ページに画像を表示する際に問題があります。

<h:graphicImage value="resource:///image/actors/#{imageBean.source}" alt="pic" />

#{imageBean.source} = "image.jpg"の結果

結果:

[13:10:14.445] GET http://localhost:7001/webapp-core/faces/image.jpg [HTTP/1.1 404 Not Found 578ms]

明らかにうまくいきませんが、正しい方法が何であるかはわかりません。

私は多くのバリエーションを試しました、fe:

- <h:graphicImage value="#{resource['image/actors/imageBean.source']}" alt="pic" />
- <h:graphicImage value="resource:///#{imageBean.source}" alt="pic" />
- <h:graphicImage value="#{resource['image/akteurs/imageBean.source']}" alt="pic" />

私の主な問題は、リソース コンテキスト内で #{imageBean} を動作させる方法です。

正しいパスは次のとおりです。

[13:37:28.935] GET http: //localhost:7001/webapp-core/faces/ javax.faces.resource /image/actors/image.jpg [HTTP/1.1 200 OK 31ms]

設定 web.xml:

<context-param>
  <param-name>org.richfaces.resourceOptimization.enabled</param-name>
  <param-value>false</param-value>
</context-param>
4

1 に答える 1

2

このresource://コンテキストでは、URI は無効です。それは全く異なる目的を持っています。ビューで JSF リソースを参照するには、#{resource}.


私の主な問題は、リソース コンテキスト内で #{imageBean} を動作させる方法です。

JSTL を使用して事前に EL に別の文字列変数を作成することで、インライン化できます<c:if>

<c:set var="identifier" value="image/actors/#{imageBean.source}" />
<h:graphicImage value="#{resource[identifier]}" alt="pic" />

または、環境が EL 2.2 をサポートしている場合は、次を使用しますString#concat()

<h:graphicImage value="#{resource['image/actors/'.concat(imageBean.source)]}" alt="pic" />
于 2013-09-16T13:21:23.193 に答える