まず最初に、タイトルが悪くて申し訳ありませんが、それをより適切に説明する方法がわかりません。
私の問題:
<p:lightbox>
要素に画像を表示したい。残念ながら、写真のファイル名には「#」文字が含まれているため、たとえば次のようになります。
これが私のコードです:
<p:panel id="showPics" closable="false" header="Fotos: ">
<p:lightBox styleClass="imagebox">
<p:dataList value="#{myBean.fotoList}" var="fl" >
<h:outputLink value="#{request.contextPath}/resources/pics/#{fl.PictureName}" title="#{fl.PictureName}" >
<h:graphicImage value="#{request.contextPath}/resources/pics/#{fl.PictureName}"/>
</h:outputLink>
</p:dataList>
</p:lightBox>
</p:panel>
beanvalue #{fl.PictureName} はファイル名を返すため、この例では Desert_#1#.jpg
アプリケーションを実行すると、次のエラー メッセージが表示されます。
/resources/pics/desert_ へのアクセスに問題があります。理由: 見つかりません
だから私の推測では、picturename の # 文字は beanmethod/value への参照 (またはあなたがそれらを何と呼んでも) として認識されますが、もちろんそうではありません。そのため、ファイル名の最初の「#」の後の文字列は認識されなくなりました。残念ながら、ファイル名を単純に変更して「#」を取り除くことはできません。
誰かがこれを修正する方法を教えてもらえますか? 前もって感謝します!
更新: Primefaces および Primefaces モバイル コンポーネント (私のアプリケーションはモバイル Web アプリケーションであるため) および Spring Webflow フレームワークで JSF2.0 を使用しています。私の IDE は Netbeans です。