【发布时间】:2011-04-26 15:04:15
【问题描述】:
我正在尝试获取简单错误代码的本地化形式,但我似乎无法让它按应有的参数化。在我的集成测试中,我有这个,只是为了说明问题:
for( FieldError error : errors.fieldErrors )
{
println error.toString()
}
在一些手动装订中,我有这个:
myObject.errors.rejectValue("field1.field2", "typeMismatch.java.lang.Integer", [value] as Object[], "")
但是当我打印时,我得到了这个:
Field error in object 'com.me.MyObject' on field 'field1.field2': rejected value [1];
codes
[typeMismatch.java.lang.Integer.com.me.MyObject.field1.field2,typeMismatch.java.lang.Integer.field1.field2,typeMismatch.java.lang.Integer.field2,typeMismatch.java.lang.Integer.int,typeMismatch.java.lang.Integer]
为什么不使用来自message.properties 的字符串?
typeMismatch.java.lang.Integer=Property {0} must be a valid number
【问题讨论】:
-
"field1.field2"引用让我怀疑 - 它是有效的字段引用吗?它是一个嵌套字段吗?例如,我们只使用"field2"。除此之外,绝对相似的代码对我有用。您的messages.properties中有明确的typeMismatch.java.lang.Integer消息吗?
标签: spring grails localization groovy internationalization