关于struts2中,总是返回INPUT的问题

返回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)