最近被问到一个问题,在使用org.apache.struts.validator.ValidatorActionForm的时候,自己写的actionForm直接继承了ValidatorActionForm,这样返回的ActionErrors就就会有很多条,如果不做处理的话,页面上会显示的很乱。于是找到了前一阵子的解决办法。
在自己的actionForm里,重写validate方法,如下:
在自己的actionForm里,重写validate方法,如下:
public
ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
{
// 执行validate.xml,取得结果
ActionErrors errors = super.validate(mapping, request);
ActionMessage message = null;
// 取得第一个error
Iterator it = errors.get();
if (it.hasNext()) {
message = (ActionMessage) it.next();
}
// 创建新error对象集
ActionErrors messages = new ActionErrors();
// 添加
messages.add(org.apache.struts.action.ActionMessages.GLOBAL_MESSAGE,message);
// 返回
return messages;
}
// 执行validate.xml,取得结果
ActionErrors errors = super.validate(mapping, request);
ActionMessage message = null;
// 取得第一个error
Iterator it = errors.get();
if (it.hasNext()) {
message = (ActionMessage) it.next();
}
// 创建新error对象集
ActionErrors messages = new ActionErrors();
// 添加
messages.add(org.apache.struts.action.ActionMessages.GLOBAL_MESSAGE,message);
// 返回
return messages;
}