【发布时间】:2011-07-25 12:56:17
【问题描述】:
我正在尝试使用 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:bean 类 [pachet.dbo.User] 的无效属性“无效”:Bean 属性“无效”不可读或具有无效的 getter 方法:getter 的返回类型是否匹配setter 的参数类型?
如果我删除该行:
<td><form:errors path="invalid.username" cssClass="error" /></td>
一行
<form:errors path="*" cssClass="error" />
显示“invalid.username”错误,所以错误存在..可能路径不对?
【问题讨论】:
-
是的,大神们,预览窗格是不可见的吗?
-
不,不是,我只是编辑了消息。对不起。
-
如果某个答案对您有用,请将其标记为已接受。如果它有帮助但答案不同 - 添加您自己的答案并接受它。
标签: jsp spring-mvc