Spring MVC 中双向数据绑定的概念
Concept of Two-Way data binding in Spring MVC
这是我的 login.jsp 文件。
<form:form method="POST" action="checklogin" modelAttribute="log">
<form:label path="username">UserName: </form:label>
<form:input path="username" id="username" /><br /><br />
<br />
<form:label path="pswd">Password: </form:label>
<form:password path="pswd" id="password" /><br /> <br />
<br />
<input type="submit" id="btnLogin" value=login class="login" />
</form:form>
这是我的控制器
@RequestMapping(value = "/checklogin", method=RequestMethod.POST)
public String chklogin(@ModelAttribute Login login, Model mod) {
if (login.getUsername().equals("subro") && login.getpswd().equals("ss")) {
mod.addAttribute("log",login);
return "Home";
}
else {
return "Login";
}
}
仍然出现错误
bean 名称 'log' 的 BindingResult 和普通目标对象都不能用作请求属性
改变
@ModelAttribute Login login
到
@ModelAttribute Login log
spring 中的双向数据绑定允许用户输入动态绑定到 bean。从某种意义上说,它是 two-way,它可以从 bean 获取输入,并且可以 post 用户使用 GET 和 POST api.[=13 输入到 bean =]
使用 @ModelAttribute
注释,您可以将用户输入与 bean 绑定。
@RequestMapping(value = "/login", method=RequestMethod.GET)
public String login(@ModelAttribute Login log){ //one-way binding
return "Login";
}
@RequestMapping(value = "/checklogin", method=RequestMethod.POST)
public String chklogin(@ModelAttribute Login log, Model mod) { //two-way binding
if (login.getUsername().equals("subro") && login.getpswd().equals("ss")) {
mod.addAttribute("log",login);
return "Home";
}
else return "Error";
}
之前没有写过映射到url/login
的登录方法。
当您收到错误消息“bean 名称 'log' 的 BindingResult 或普通目标对象均不可用作为请求属性”时,这意味着 bean(在我的例子中为 'log')不可用可以绑定查看页
这是我的 login.jsp 文件。
<form:form method="POST" action="checklogin" modelAttribute="log">
<form:label path="username">UserName: </form:label>
<form:input path="username" id="username" /><br /><br />
<br />
<form:label path="pswd">Password: </form:label>
<form:password path="pswd" id="password" /><br /> <br />
<br />
<input type="submit" id="btnLogin" value=login class="login" />
</form:form>
这是我的控制器
@RequestMapping(value = "/checklogin", method=RequestMethod.POST)
public String chklogin(@ModelAttribute Login login, Model mod) {
if (login.getUsername().equals("subro") && login.getpswd().equals("ss")) {
mod.addAttribute("log",login);
return "Home";
}
else {
return "Login";
}
}
仍然出现错误 bean 名称 'log' 的 BindingResult 和普通目标对象都不能用作请求属性
改变
@ModelAttribute Login login
到
@ModelAttribute Login log
spring 中的双向数据绑定允许用户输入动态绑定到 bean。从某种意义上说,它是 two-way,它可以从 bean 获取输入,并且可以 post 用户使用 GET 和 POST api.[=13 输入到 bean =]
使用 @ModelAttribute
注释,您可以将用户输入与 bean 绑定。
@RequestMapping(value = "/login", method=RequestMethod.GET)
public String login(@ModelAttribute Login log){ //one-way binding
return "Login";
}
@RequestMapping(value = "/checklogin", method=RequestMethod.POST)
public String chklogin(@ModelAttribute Login log, Model mod) { //two-way binding
if (login.getUsername().equals("subro") && login.getpswd().equals("ss")) {
mod.addAttribute("log",login);
return "Home";
}
else return "Error";
}
之前没有写过映射到url/login
的登录方法。
当您收到错误消息“bean 名称 'log' 的 BindingResult 或普通目标对象均不可用作为请求属性”时,这意味着 bean(在我的例子中为 'log')不可用可以绑定查看页