返回INPUT是因为filedError,actionError,messageError中存在相关数据时,就会返回到INPUT,
我的错误就是设置了验证:
// 会员登录验证
@Validations(
requiredStrings = {
@RequiredStringValidator(fieldName = "member.userName", message = "用户名不允许为空!"),
@RequiredStringValidator(fieldName = "member.password", message = "密码不允许为空!")
}
)
那么为什么在执行具体的方法的时候,添加fieldEror("username","username error"),不会跳到INPUT呢? 这是因为,struts2在执行action中某个具体方法之前,会调用valication方法,valication方法中会判断 filedError,actionError,messageError中其中任何一个是否有值,如果有,就会跳到INPUT, 如果想使用这三个方法,但又不想跳到INPUT,就得在valication中加clearFieldErrors(); clearActionErrors(); clearMessages(); 这样在调用valication方法时,error中的值就被清空了。
本文深入探讨了在使用Struts2框架时,action方法执行前进行验证(validation)的过程。重点解释了如何在验证过程中设置错误信息,并在验证失败时决定是否跳转回输入页面。通过实例展示了如何在不跳转回输入页面的情况下处理错误,以及在验证方法中清除错误信息的方法。
156

被折叠的 条评论
为什么被折叠?



