1

我了解 BindingResult 用于与表单相关的验证错误。但是,业务错误呢,例如:

public String bulkUpdate(@ModelAttribute form, BindingResult r) {
//do validation, extract selected issues to be bulk updated, etc.
//any form related, binding errors to be put in r

//this part
List<String> results = service.bulkUpdate(issues, newValues);

//where is it appropriate to put the results?
//from experience we just create a request attribute and put it there
request.setAttribute("bulkUpdateErrors", StringUtils.join(results, "<br>"))

//is there an similar generic structure like Errors?
}

在jsp中:

<div id='info'> 
    <c:if test="${not empty bulkUpdateErrors}">
        <spring:message code="bulk.update.warning" /> ${bulkUpdateErrors}
    </c:if>
</div>

是否有类似的通用结构来放置业务错误?

4

1 回答 1

6

您可以按照建议使用分隔对象,也可以将业务错误添加到Errors/BindingResult. 就个人而言,我通常将业务错误放在 BindingResult 中,因为以后更容易在 JSP/View 中显示它们。我不知道是否有任何通用结构用于此目的。

使用r.rejectValue("property", "error.object");,就足够了。或者,如果您愿意,可以注册全局错误调用r.reject("error.object");

于 2012-07-30T09:48:20.353 回答