gpt4 book ai didi

java - 如何在 Spring Boot 中获取静态资源(js、css)作为 ClassPathResource?

转载 作者:行者123 更新时间:2023-12-01 09:01:50 24 4
gpt4 key购买 nike

我需要能够从 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 约定:

Project Structure

我能否获取某些 Spring 资源的句柄(通过 Autowiring 、应用程序上下文等)来解析这些 URL,就像浏览器请求它们时一样?我可能可以通过将“resources/static/”硬编码到 url 字符串的开头来解决这个问题,但我更喜欢更动态的解决方案。

最佳答案

使用这个:

new ClassPathResource("static/css/index.css").getInputStream();

关于java - 如何在 Spring Boot 中获取静态资源(js、css)作为 ClassPathResource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41605684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com