我在 Spring - MVC 中遇到表单验证问题。首先,我有这个 .jsp 页面,其中要求提交表单,询问用户名和密码。
请输入您的凭据以登录
<form:form method="POST" commandName="user" action="user/doLogin">
<form:errors path="*" cssClass="errorblock" element="div" />
<table>
<tr>
<td>User Name :</td>
<td><form:input path="name" /></td>
<td><form:errors path="name" cssClass="error" /></td>
</tr>
<tr>
<td>User Password :</td>
<td><form:password path="password" /></td>
<td><form:errors path="password" cssClass="error" /></td>
</tr>
<tr>
<td colspan="3"><input type="submit" /></td>
</tr>
</table>
</form:form>
此表单背后的控制器是 LoginController.java
@控制器
@RequestMapping("/user")
public class LoginController {
@RequestMapping(value = "/doLogin")
public String doLogin(@Valid User user, BindingResult result, ModelMap model) {
if (result.hasErrors()) {
return "user";
} else {
model.addAttribute("name", user.getName());
return "Done";
}
@RequestMapping(method = RequestMethod.GET)
public String displayUserForm(ModelMap model) {
model.addAttribute("user", new User());
return "user";
}
}
在我的模型包中,我有我使用的用户对象
org.hibernate.validator.constraints.NotEmpty;
org.hibernate.validator.constraints.Range;
用于验证目的。
验证工作完美,但问题是每当我在表单中输入错误的凭据并收到相应的消息时,下次提交凭据时,由于第二次调用提交按钮和 doLogin() 后的 URL 错误,我会收到 404 错误功能(用户/用户/doLogin)。我应该怎么做才能使其正常工作?在此先感谢您的任何信息 !:)