在我的项目中,我将所有这些表单与其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,所以我现在基本上没有配置/ xml文件。
答案 0 :(得分:2)
你必须用斜杠/
开始你的百里香uri's,以便相对于你的根上下文来解决它,所以替换为以下内容应该始终如一地为你工作:
<script th:src="@{/js/jquery-1.11.2.js}" type="text/javascript"></script>