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>