【发布时间】:2021-12-28 14:30:12
【问题描述】:
我熟悉 Thymeleaf。
我正在尝试从控制器中的 POST 映射中获取数据。
但是当我调用employee.getName() 时,我得到了null 变量。
我在网上查了很多,但找不到解决方案。
我的控制器类
@GetMapping
public String getEmployees(Model model) {
model.addAttribute("newEmployee", new Employee());
return "employees";
}
@PostMapping
public String addEmployee(@ModelAttribute("newEmployee") Employee employee) {
System.out.println(employee); // return object
System.out.println(employee.getFirstName()); // return null
return "employees";
}
带有 Thymeleaf 的 HTML 表单
<div class="modal-body">
<form th:action="@{/employees}" th:object="${newEmployee}" method="post">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-form-label">First Name <span class="text-danger">*</span></label>
<input th:field="*{firstName}" class="form-control" type="text">
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="col-form-label">Last Name</label>
<input th:field="*{lastName}" class="form-control" type="text">
</div>
</div>
【问题讨论】:
-
@mikebrucks:对于调试,请添加 logging request-interceptor 并向我们展示 (a) 日志输出,以及 (b) 您的
Employee类(包括所有 getter/setter)。 -
员工类只有 getter 需要有 setter 我想从表单的数据中创建新对象员工
-
用javascript打开表单是动态的,不知道重要不重要
标签: java spring-mvc thymeleaf