Spring MessageSource.getMessage()的命名参数而非位置

Mar*_*lon 5 spring named-parameters

我们正在使用Spring MessageSource在我们的应用程序中生成错误消息。

我们这样填充错误消息

dobInvalid = The DOB supplied {0} is invalid
Run Code Online (Sandbox Code Playgroud)

我们想使用命名参数,所以我们可以

dobInvalid = The DOB supplied {dob} is invalid
Run Code Online (Sandbox Code Playgroud)

在Api文档中查找getMessage似乎建议您执行以下操作: http://static.springsource.org/spring/docs/1.2.x/api/org/springframework/context/MessageSource.html

args-将为消息中的参数填充的参数数组(参数在消息中看起来像“ {0}”,“ {1,date}”,“ {2,time}”),如果没有则为null。

显然,我们可以编写自己的代码,但想知道spring是否可以做到这一点,是否有人可以提供示例或使用命名参数而不是位置参数。

干杯马克

Cam*_*lva 8

AIUI、Spring MessageSource 与 JDK MessageFormat一起使用,因此没有这样的命名参数。{1,date}是一个示例,其中“date”指的是 formatType,“no”指的是任意命名参数。

参数的一般形式为:

{ ArgumentIndex , FormatType , FormatStyle }
Run Code Online (Sandbox Code Playgroud)