Jsf 文件上的outputlink出现问题

Jsf 文件上的outputlink出现问题,jsf,jsf-2,mojarra,Jsf,Jsf 2,Mojarra,我正在使用Mojarra、PrimeFaces和Tomcat6.x进行JSF2.0项目 我创建了一些指向文件的输出链接。这些文件位于我的WAR外部,位于Apache HTTPD控制下的目录中 <h:outputLink value="#{fileItem.linkTarget.sourceUrl}">#{fileItem.boname} (#{fileItem.linkTarget.mediaType})</h:outputLink> {fileItem.boname}

我正在使用Mojarra、PrimeFaces和Tomcat6.x进行JSF2.0项目

我创建了一些指向文件的输出链接。这些文件位于我的WAR外部,位于Apache HTTPD控制下的目录中

<h:outputLink value="#{fileItem.linkTarget.sourceUrl}">#{fileItem.boname} (#{fileItem.linkTarget.mediaType})</h:outputLink>
{fileItem.boname}({fileItem.linkTarget.mediaType})
sourceUrl的值类似于
/dir/subDir/file.pdf
。当我的sourceUrl不包含空间时,它就起作用了。但是当它包含空格时,它们将被
+
替换。
/dir/subDir/big file.pdf
变成
/dir/subDir/big+file.pdf
。当我在一个普通的webbrowser中用空格替换
+
时,它工作了吗

出了什么问题,我该如何解决


mojarra的graphicImage也有同样的问题,我使用Primefaces的graphicImage解决了这个问题。

一般来说,我不建议在URL中使用空格

如果您对url中的文件名没有影响,则应按照此处所述对这些名称进行url编码。空白空间必须由% 20替换。也许有一个java类为您进行编码。我只知道它来自PHP,这里有一个类似urlEncode()的函数