在Spring中格式化错误消息的正确方法是什么?

时间:2012-07-06 20:48:31

标签: spring formatting

我正在使用Spring 3.1.0.RELEASE。如何在Spring中正确格式化错误消息?在我的属性文件中,我有......

Incomplete.headers.fileData=The file is missing the following required header(s): %s

然后在我的验证课上,我有

public void validate(Object target, Errors errors) {
    ...
    final String missingHeadersStr = Joiner.on(",").join(missingHeaders);
    errors.rejectValue("fileData", "Incomplete.headers.fileData", new Object[] {missingHeadersStr}, "The file is missing some required headers.");

然而,即使(通过调试)我已经验证“missingHeadersStr”字段是非空的,我的JSP上显示的所有内容都是

The file is missing the following required header(s): %s

在Spring中格式化错误消息的正确方法是什么?为了它的价值,我将它们展示在JSP上,就像这样

<form:errors path="fileData" cssClass="error" />

1 个答案:

答案 0 :(得分:3)

The documentation说:

  

errorArgs - 错误参数,用于通过MessageFormat 绑定的参数   (可以为null)

(强调我的)。

您提供的模式可用于String.format()。但是MessageFormat没有使用它。模式应该是:

The file is missing the following required header(s): {0}