0

Mojarra、PrimeFaces、および Tomcat 6.x を使用して JSF 2.0 プロジェクトに取り組んでいます。

ファイルを指す出力リンクをいくつか作成しました。これらのファイルは、私の WAR の外部にあり、Apache HTTPD の制御下にあるディレクトリにあります。

<h:outputLink value="#{fileItem.linkTarget.sourceUrl}">#{fileItem.boname} (#{fileItem.linkTarget.mediaType})</h:outputLink>

sourceUrl は のような値です/dir/subDir/file.pdf。私のsourceUrlにスペースが含まれていない場合、それはうまくいきます。ただし、スペースが含まれている場合は、に置き換えられ+ます。 /dir/subDir/big file.pdfになり/dir/subDir/big+file.pdfます。通常のウェブブラウザで をスペースに置き換える+とうまくいきますか?

何が問題で、どうすれば修正できますか?

mojarraのgraphicImageでも同じ問題が発生し、PrimefacesのgraphicImageを使用して解決しました。

4

1 に答える 1

2

一般に、URL に空白を使用することはお勧めしません。

URL 内のファイル名に影響を与えない場合は、ここURL-Encodingで説明されているように、これらの名前を URL エンコードする必要があります。空白は %20 に置き換える必要があります。エンコーディングを行う Java クラスがあるかもしれません。私はPHPからしか知りません.urlEncode()のような関数があります。

于 2011-02-24T20:29:28.013 に答える