Spring Boot + Thymeleaf 使用@PathVariable 结果 404 of JS
Spring Boot + Thymeleaf using @PathVariable results in 404 of JS
在我的项目中,所有这些表单都与其 ID 相关联。所以在我的一些控制器中我使用 @PathVariable
所以当用户点击一个表单名称时它会把他们带到正确的那个,例如:
@RequestMapping(value="/form/{formId}", method=RequestMethod.GET)
public String getCid(Model model, @PathVariable Long formId){
model.addAttribute("form", formRepository.findOne(formId));
return "form";
}
但是我从 Firebug 错误消息中注意到,在这些控制器中,不是在 /js
文件夹中查找我的静态 JQuery,而是在 /form/js
这显然不存在。
我如何在我的 Thymeleaf 视图中导入 JS 文件的示例
<script th:src="@{js/jquery-1.11.2.js}" type="text/javascript"></script>
@PathVariable
真的是这里的问题吗?只有 JS 的 CSS 文件不会发生这种情况。我不应该使用 @PathVariable
吗?我可以使用 @RequestParam
来获得相同的结果吗?什么是例子?
或者是否可以设置静态内容位置的全局配置?我正在使用 Spring Boot,所以我现在基本上没有 configuration/xml 文件。
你的 thymeleaf uri 必须以斜线开头 /
才能相对于你的根上下文进行解析,因此替换为以下内容应该对你始终有效:
<script th:src="@{/js/jquery-1.11.2.js}" type="text/javascript"></script>
在我的项目中,所有这些表单都与其 ID 相关联。所以在我的一些控制器中我使用 @PathVariable
所以当用户点击一个表单名称时它会把他们带到正确的那个,例如:
@RequestMapping(value="/form/{formId}", method=RequestMethod.GET)
public String getCid(Model model, @PathVariable Long formId){
model.addAttribute("form", formRepository.findOne(formId));
return "form";
}
但是我从 Firebug 错误消息中注意到,在这些控制器中,不是在 /js
文件夹中查找我的静态 JQuery,而是在 /form/js
这显然不存在。
我如何在我的 Thymeleaf 视图中导入 JS 文件的示例
<script th:src="@{js/jquery-1.11.2.js}" type="text/javascript"></script>
@PathVariable
真的是这里的问题吗?只有 JS 的 CSS 文件不会发生这种情况。我不应该使用 @PathVariable
吗?我可以使用 @RequestParam
来获得相同的结果吗?什么是例子?
或者是否可以设置静态内容位置的全局配置?我正在使用 Spring Boot,所以我现在基本上没有 configuration/xml 文件。
你的 thymeleaf uri 必须以斜线开头 /
才能相对于你的根上下文进行解析,因此替换为以下内容应该对你始终有效:
<script th:src="@{/js/jquery-1.11.2.js}" type="text/javascript"></script>