springboot项目,前端用的thymeleaf,对象列表页点击跳转到对象编辑页的时候报了一个错
ERROR o.t.TemplateEngine - [process,1136] - [THYMELEAF][http-nio-9998-exec-3] Exception processing template "system/bmExpress/editGetExpress": An error happened during template parsing (template: "class path resource [templates/system/bmExpress/editGetExpress.html]")
org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/system/bmExpress/editGetExpress.html]")
原因是前端页面使用thymeleaf取值的时候没获取到值,看了下,是后端没有给ModelMap对象赋值导致的:
Controller
/**
* 跳转到修改快递物流
*/
@GetMapping("/edit/{expressId}")
public String edit(@PathVariable("expressId") Long expressId, ModelMap mmap)
{
BmExpress bmExpress = boomExpressService.selectBmExpressById(expressId);
mmap.put("bmExpress", bmExpress);//注意,之前就是大意了,没写这行,导致前端读不到数据报错的
if(bmExpress.getExpressType().equals(0)){
return prefix + "/editGetExpress";
}
return prefix + "/editSendExpress";
}
Html (注意,这里编辑的对象是bmExpress,对应Controller中ModelMap对象里的bmExpress)
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<head th:include="include :: header"></head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-bmExpress-edit" th:object="${bmExpress}">
<input id="expressId" name="expressId" th:field="*{expressId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">项目名:</label>
<div class="col-sm-8">
<input id="merchantOrderTitle" name="merchantOrderTitle" th:field="*{merchantOrderTitle}" class="form-control" type="text">
</div>
</div>
<!-- 其他数据 -->
</form>
</div>
<div th:include="include::footer"></div>
<script type="text/javascript">
</script>
</body>
</html>