【发布时间】:2018-07-26 20:53:00
【问题描述】:
我正在尝试从 Boostrap 模态中的表单发布。
这是我的表格:
<form role="form" id="emailForm" action="#" th:action="@{/emailSubmission}" th:object="${university}" method="post">
<div class="form-group">
<label for="emailID"><span class="glyphicon glyphicon-user"></span> Username</label>
<input type="text" class="form-control" id="emailID" th:value="*{email}" placeholder="Enter email"></input>
</div>
<button type="submit" value="Submit" id="submitButton" class="btn btn-default btn-success btn-block" ><span class="glyphicon glyphicon-check"></span> Register</button>
</form>
这是我的控制器:
@Controller
public class RegistrationController {
@RequestMapping(value = "/emailSubmission", method = RequestMethod.POST)
public String registerEmail(@ModelAttribute("university") University uni, BindingResult result, Model model)
{
System.out.println(uni.getEmail());
return "index";
}
}
还有我的大学班:
public class University {
private String email;
public University(){
}
public String getEmail(){
return email;
}
public void setEmail(String email){
this.email = email;
}
}
我是 Spring 新手,不知道出了什么问题以及为什么我会收到标题中提到的错误。
变化:
th:value="*{email}"
到:
th:field="*{email}"
给我 'BindingResult 和 bean 名称'university' 的普通目标对象都可用作请求属性'错误。
【问题讨论】:
-
你的 GET RequestMapping 在哪里?
-
我的愚蠢。我需要将模型属性添加到我的 NavController 中的“@GetMapping”中。谢谢@holmis83
标签: java spring-mvc spring-boot bootstrap-4 thymeleaf