2011-02-23 2 views
0

저는 Mojarra, PrimeFaces 및 Tomcat 6.x를 사용하는 JSF 2.0 프로젝트에서 작업하고 있습니다.파일의 출력 링크에 문제가 있습니다.

파일을 가리키는 출력 링크를 만들었습니다. 이 파일들은 Apache HTTPD가 제어하는 ​​디렉토리에있는 내 WAR 외부에 있습니다.

<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를 사용하여 해결합니다.

답변

2

일반적으로 URL에 공백을 사용하지 않는 것이 좋습니다.

URL의 파일 이름에 아무런 영향이 없다면 여기에 설명 된대로 URL을 인코딩해야합니다 (URL-Encoding). 빈 공간은 % 20으로 대체되어야합니다. 어쩌면 당신을 위해 인코딩을 수행하는 Java 클래스가있을 것입니다. PHP로만 알면 urlEncode()와 같은 함수가 있습니다.

관련 문제