`

使用validate.xml时,让结果只返回一条

阅读更多
最近被问到一个问题,在使用org.apache.struts.validator.ValidatorActionForm的时候,自己写的actionForm直接继承了ValidatorActionForm,这样返回的ActionErrors就就会有很多条,如果不做处理的话,页面上会显示的很乱。于是找到了前一阵子的解决办法。

在自己的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;
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics