我使用带有百里香的弹簧靴,我的所有资源都在"/../../css/main.css"
之类的路径上弹簧应用之外。在开发环境中应该使用url和live env解析路径。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String templates=env.getProperty("spring.thymeleaf.prefix");
registry.addResourceHandler("/../../css/**")
.addResourceLocations(templates);
}
// spring.thymeleaf.prefix = http://website.com/assets/
为什么资源处理程序不处理这些资源,但是如果我"/**"
处理没有问题?我错过了什么吗?
修改:如果resourceHandler
为"/css/**"
且位置未处理,则
答案 0 :(得分:1)
我很确定在addResourceHandler中使用..是无效的但我没有特定的文档来备份它。该路径描述的是服务器获取的模式,而不是浏览器中列出的模式。从函数doc:"基于指定的URL路径模式"。如果您从浏览器引用..仍将更改为某个绝对路径以发送到服务器。这就是你的其他版本没有问题的原因。
答案 1 :(得分:1)
您无法根据需要引用外部资源,导致解析程序从classpath
查找资源。
尝试按照此问题执行此操作 - Add external resources folder to Spring Boot或此处 - How do I use Spring Boot to serve static content located in Dropbox folder?