文件上的outputlink问题

时间:2011-02-23 21:15:44

标签: jsf jsf-2 mojarra

我正在使用Mojarra,PrimeFaces和Tomcat 6.x开发JSF 2.0项目。

我创建了一些指向文件的outputlink。这些文件在我的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。当我在普通的webbrowser中用空格替换+时,它有用吗?

出了什么问题,如何解决?

我遇到了与mojarra的graphicImage相同的问题,我使用Primefaces的graphicImage解决了这个问题。

1 个答案:

答案 0 :(得分:2)

一般情况下,我不建议在网址中使用空格。

如果您对网址中的文件名没有影响,则应按照此处URL-Encoding所述对这些名称进行网址编码。空格必须由%20替换。也许有一个java类为你做编码。我只从PHP知道它,你有一个像urlEncode()的函数。