我有一个jsp如下:
<form:form action="/SpringWebProject/login" method="post" modelAttribute="loginForm">
<table>
<tr>
<td>
<label id="username"><fmt:message key="login.username" />:</label>
</td>
<td>
<form:input path="username" /></td>
<td><form:errors path="username" cssClass="error"></form:errors>
控制器:
@RequestMapping("/login")
public String verifyLogin(@Valid @ModelAttribute("loginForm") LoginForm loginForm,BindingResult bindingResult,LoginForm loginFrm)
{
if(bindingResult.hasErrors())
{
System.out.println("here in error" + bindingResult.getAllErrors().get(0));
return "login";
}
System.out.println("hello" +loginService);
loginService.verifyLogin(loginForm);
我的模型对象是LoginForm:
package com.neha.javabrains;
public class LoginForm {
public String username;
public String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
验证者条目是:
@Override
public void validate(Object loginClass, Errors errors) {
// TODO Auto-generated method stub
System.out.println("here in validator");
LoginForm loginForm=(LoginForm)loginClass;
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "username", "username.empty","Username empty");
Pattern p=Pattern.compile("[^A-Za-z0-9]");
Matcher matcher=p.matcher(loginForm.getUsername());
boolean spclCharsPresent=matcher.find();
if(spclCharsPresent)
{
errors.rejectValue("username", "SpecialCharactersPresent");
}
}
在我的控制器中,打印出Validator错误,但这些错误未在jsp上显示。
我拥有所有正确的条目,例如modelAttribute和属性文件中的条目,但仍然没有打印错误。