Java 当使用@PathVariable时,如何使用spring boot和thymeleaf在首页导入静态资源
当我像下面那样使用@RequestMapping时,我可以很好地获得html渲染Java 当使用@PathVariable时,如何使用spring boot和thymeleaf在首页导入静态资源,java,spring,spring-boot,frontend,thymeleaf,Java,Spring,Spring Boot,Frontend,Thymeleaf,当我像下面那样使用@RequestMapping时,我可以很好地获得html渲染 @RequestMapping("/demo") public String news() { return "demo"; } 但是当我添加param@PathVariable(“docid”)时,它丢失了所有静态资源 @RequestMapping("/single/{docid}") public String single( @PathVariable("docid") S
@RequestMapping("/demo")
public String news() {
return "demo";
}
但是当我添加param@PathVariable(“docid”)时,它丢失了所有静态资源
@RequestMapping("/single/{docid}")
public String single( @PathVariable("docid") String docid) {
return "demo";
}
在浏览器控制台中,它说加载资源失败:服务器响应ststus为404()
我使用它来启动页面,它将有demo.html,没有任何静态资源,但是当我使用它时,它工作得很好
我将import语句更改为th:src=“@{/js/my.js}”,它仍然从localhost:8080/single/js/my.js搜索静态资源,我应该怎么做
Ps:我使用Thymeleaf作为模板 使用URL作为,没有理由得到404。确保在路径(URL)中使用docid值。将URL用作,并且没有理由获得404。确保您在路径(URL)中使用了docid值。我解决了它,我将
th:fragment
中的所有导入语句更改为绝对路径。我解决了它,我将th:fragment
中的所有导入语句更改为绝对路径。当您从浏览器发送请求时,是否为“docid”发送了一些值 ? 由于docid是端点URL的一部分,如果您没有为docid指定任何值,您将得到404错误。您用于启动页面的URL是什么,您应该尝试如下操作:http://:port/demo/123其中123是您用于启动页面的docid,它将具有demo.html,而不包含任何静态资源,但是当我使用,它工作得很好。为什么在第一种情况下,您的映射以/
开始,但在第二种情况下,它没有开始?起初,它们都有/
,在我搜索了这个问题后,我想这可能是原因。但事实并非如此。当您从浏览器发送请求时,是否为“docid”发送了一些值?由于docid是端点URL的一部分,如果您没有为docid指定任何值,您将得到404错误。您用于启动页面的URL是什么,您应该尝试如下操作:http://:port/demo/123其中123是您用于启动页面的docid,它将具有demo.html,而不包含任何静态资源,但是当我使用,它工作得很好。为什么在第一种情况下,您的映射以/
开始,但在第二种情况下,它没有开始?起初,它们都有/
,在我搜索了这个问题后,我想这可能是原因。但事实并非如此。