Struts2输入校验(三) のaddActionError的用法

 

上一节做的验证信息,都是通过addFieldError保存的,现在使用addActionError做保存出错信息用。

Struts2的错误信息分两种级别,第一种是:field(属性)级别;第二种是:action级别

两者的区别在于:addFieldError事实上是将错误信息保存在一个Map中,通过属性名为key,错误信息为value的格式保存,而addActionError则是保存在一个Collection中,再详细的就是保存在一个ArrayList中的,所以,直接保存一个出错信息即可。

if(null == username || username.length() < 6 || username.length() > 10){
			
			this.addActionError("username invalid");
			
	}


当把代码做了以上修改之后,到页面中,输入错误信息,发现,页面回到当前页面,但是没有显示错误信息。

原因:Struts提供的标签有显示错误信息的功能,但是只针对field级别的错误,所以我们定义的action级别错误无法显示,但是由于已经出错,所以留在当前页面。

怎样判断页面是否出错,ActionSupport类中有一个hasErrors方法

public boolean hasErrors{

    return  (hasActionErrors()||hasFieldErrors());

}

所以,当hasActionErrors和hasFieldErrors中有一个为假,Struts就认为验证出错。

 

怎样才能在页面上显示ActionError呢?

在页面上加上<s:actionerror/>就OK啦!

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值