java Thymeleaf表单处理返回Null?
我一直试图在Springboot中使用Thymeleaf创建表单处理,但遇到了一个错误,它将Null返回给控制器
HTML表格代码:
<form action="#" th:action="@{/}" th::object="${status}" method="post">
<input type="text" th:field="*{stat}"/>
<br>
<input type="submit" value="Submit"/>
</form>
目标代码:
public class status {
private String stat;
public String getStat() {
return stat;
}
public void setStat(String stat) {
System.out.println(stat);
this.stat = stat;
}
}
控制器代码:
@GetMapping("/")
public String home(Model model ) {
model.addAttribute("stat", new status());
databaseConn objA = new databaseConn ( );
try{
model.addAttribute("alert", objA.datacon());
}
catch (Exception e) {
}
System.out.println("Test");
// use alerts.html as template
return "alerts";
}
@PostMapping("/")
public String greetingSubmit(@ModelAttribute status stat, Model model, databaseConn objA) {
model.addAttribute("stat", stat);
System.out.println(stat.getStat());
try{
model.addAttribute("alert", objA.datacon());
}
catch (Exception e) {
}
return "alerts";
}
对于System.out.println(stat.getStat())
,Null正在打印到控制台。有人知道为什么吗
# 1 楼答案
将
model.addattribute("stat",new Status());
更改为model.addattribute("status",new Status());
将th::object="${status}"
更改为th:object="${status}"
# 2 楼答案
您的代码中似乎有输入错误,使用
th:object="${status}"
而不是th:object="${status}"
# 3 楼答案
您发布的代码有两个问题: