2 回答
TA贡献1804条经验 获得超8个赞
正如您在后续问题中的评论表明 maven 在构建 .war 存档期间损坏了您的 PDF,我建议您必须在构建 POM.xml 中的 PDF 文件期间禁用 maven 资源过滤:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>*.pdf</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>*.pdf</include>
</includes>
</resource>
</resources>
TA贡献1806条经验 获得超5个赞
另一种为下载提供静态文件的方法是使用 JSF 的内置资源系统:有关背景信息,请参阅此 Q/A。
例如,将 Primefaces 6.2 文档放入文件/src/main/webapp/resources
夹中(注意这与我上面的其他建议不同!)所以你有一个文件:/src/main/resources
/src/main/webapp/resources/primefaces_user_guide_6_2.pdf
在您的网络项目中。现在在你的脸上只需添加一个静态输出链接到这个文件:
<h:outputLink value="#{resource['primefaces_user_guide_6_2.pdf']}" >Download PF 6.2 Documentation!</h:outputLink>
就是这样。该文件将按原样提供,并且 outputLink 实际上提供了对该文件的书签引用。
这会顺便说一句。还可以规避 maven 过滤问题,因为 /src/main/webapp/resources 通常不应该被过滤。
为什么要两个答案?知道我可以编辑第一个答案以包含这两个建议,我想知道哪个被接受(如果有的话)。
添加回答
举报