【发布时间】:2017-05-27 02:49:56
【问题描述】:
我需要能够从 Spring Boot 模板生成 PDF。为此,我使用了一个 PDF 渲染库(FlyingSaucer),它大部分都能正确完成这项工作。但是,有一个问题:当我在页面上有“href”标签时,当 PDF 渲染器尝试渲染 HTML 时,它们无法正确解析。例如,如果我有以下代码:
<link rel="stylesheet" type="text/css" th:href="@{/css/index.css}" />
它在浏览器中正确解析,但是当我尝试使用以下代码将其作为 ClassPath 资源检索时:
new ClassPathResource("/css/index").getInputStream()
Spring Boot 说文件不存在。这对我来说很奇怪,因为我认为 Spring Boot 会将所有静态内容添加到类路径中。
以下是我的项目的文件夹结构,(我认为)遵循正确的 Spring Boot 约定:
我能否像浏览器请求它们时那样处理一些 Spring 资源(通过自动装配、应用程序上下文等)来解析这些 URL?我可以通过将“resources/static/”硬编码到 url 字符串的开头来解决这个问题,但我更喜欢更动态的解决方案。
【问题讨论】:
标签: java spring spring-boot thymeleaf static-content