当我打开一个新表单时,所有j都可以工作,在编辑时它无法加载所有内部js。请假设所有数据和路由都已正确连接。
我已经找到了一个用现有对象打开表单的链接:
chain()
控制器方法:
新对象:
<a th:if="${foo.typeName} == a" href="Edit"
th:href="@{/aFoo/{id}(id=${foo.id})}">view</a>
加载现有对象:
@RequestMapping(value="/aFoo", method=RequestMethod.GET)
public String newAFooForm(Model model) {
FooViewModel fooViewModel = new FooViewModel(Type.A);
model.addAttribute("fooViewModel", fooViewModel);
return "fooForm";
}
表单html / th代码不应该重要,但要描述我的js引用:
layout.html 是两种表单的容器。它有js导入:
@RequestMapping(value="/aFoo/{id}", method=RequestMethod.GET)
public String editAFooForm(@PathVariable("id") Long id, Model model) {
FooViewModel fooViewModel = assignFooViewModel(id);
model.addAttribute("fooViewModel", fooViewModel);
return "fooForm";
}
和包含页面上js的模板:
<script th:src="@{js/jquery-1.11.3.min.js}"></script>
<script th:src="@{js/bootstrap.min.js}"></script>
<script th:src="@{js/parsley.min.js}"></script>
fooForm.html 有额外的js导入,然后是大量的js代码,它开始了:
<div layout:fragment="script"></div>
我的第一个想法是我以某种方式错误地编写了链接,因此它丢失了引用的js的上下文。有什么想法吗?感谢。
答案 0 :(得分:1)
js导入的格式应为:
<script href="/js/handlebars.js" th:src="@{/js/handlebars.js}"></script>