Я перешел с Spring 3 на 5, обновлен до Tomcat 9. После обновления не удалось получить значения из JSP в Controller.@ModelAttribute не привязывает значения, введенные в JSP, при отправке формы.
Код JSP:
<form:form action="/login" modelAttribute="identity" id="loginForm" cssClass="clearfix nodisplay">
<div class="grouping text">
<label for="email">E-mail Address</label>
<form:input path="email" id="email" cssClass="regInput" cssErrorClass="error" />
<form:errors path="email" cssClass="errors" />
</div>
<div class="grouping text">
<label for="pwd">Password</label>
<form:password path="pwd" id="pwd" cssClass="regInput" cssErrorClass="error" autocomplete="off" />
<form:errors path="pwd" cssClass="errors" />
</div>
<div class="grouping remember">
<input type="checkbox" name="remember" id="remember" />
<label for="remember">Remember Me</label>
</div>
<div class="btns clearfix">
<span class="login-btn">
<input type="hidden" name="cookieExist" id="cookieExist" value="false" />
<button type="button" name="login" class="btn js-login-btn"><span class="pictos">K</span> Login</button>
</span>
<span class="password-forget">
<a href="/passwordreset">I forgot my password</a>
</span>
</div>
</form:form>
Код контроллера
@Controller
public class LoginController {
@RequestMapping(method=RequestMethod.GET, value="/login")
public String loginGet(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap,
@ModelAttribute Identity identity){
// commented business logic code
return "login";
}
@RequestMapping(method=RequestMethod.POST, value="/login")
public String loginPost(HttpServletRequest request, HttpServletResponse response,
ModelMap modelMap, @ModelAttribute("identity") Identity identity, BindingResult bindingResult) {
//commented out business logic
return "dashboard";
}
@ModelAttribute("identity")
public Identity formBackingObject() {
return new Identity();
}
}
Я мигрировал безКстати, не уверен, что еще мне здесь не хватает?