Я пытаюсь сделать простую форму входа в Spring MVC. Я должен сказать, что я новичок в этом. Идея состоит в том, что я пытаюсь проверить форму (используя класс, который реализует интерфейс Validator), и если что-то пойдет не так, выведите ошибки.
Метод проверки:
public void validate(Object target, Errors errors)
{
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "username", "required.username","Va rugam introduceti un nume de utilizator!");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "parola", "required.parola","Va rugam introduceti o parola!");
User user= (User) target;
System.out.println(" a:"+user.getUsername()+" b:"+user.getParola());
User u=userDAO.findByUsername(user.getUsername());
if(u == null)
{
errors.reject("invalid.username","Nume utilizator incorect!");
//System.out.println("NULL");
}
else if(!u.getParola().equals(user.getParola()))
{
errors.reject("invalid.parola","Parola incorecta!");
}
}
Проблема с моей страницей JSP:
<form:form method="POST" commandName="user" >
<form:errors path="*" cssClass="error" />
<table>
<tr>
<td>Username :</td>
<td><form:input path="username" /></td>
<td><form:errors path="username" cssClass="error" /></td>
<td><form:errors path="invalid.username" cssClass="error" /></td>
</tr>
<tr>
<td>Password :</td>
<td><form:password path="parola" /></td>
<td><form:errors path="parola" cssClass="error" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Login"></td>
</tr>
</table>
</form:form>
Если я пытаюсь запустить это, я получаю ошибку:
org.springframework.beans.NotReadablePropertyException: недопустимое свойство 'invalid' класса бина [pachet.dbo.User]: свойство бина 'invalid' недоступно для чтения или имеет недопустимый метод получения: соответствует ли тип возвращаемого значения получателя получения тип параметра установщика?
Если я удалю строку:
<td><form:errors path="invalid.username" cssClass="error" /></td>
линия
<form:errors path="*" cssClass="error" />
показывает мне ошибку "invalid.username", так что ошибка существует..Может быть, путь не правильный?