0

まず最初に、タイトルが悪くて申し訳ありませんが、それをより適切に説明する方法がわかりません。

私の問題:

<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 です。

4

1 に答える 1