假设使用Spring JSR验证程序进行验证后,我有一个ObjectError
实例。该实例包含一个错误代码数组,顺序从最具体到最不具体:
[NotNull.objectName.dateRangeStart,NotNull.dateRangeStart,NotNull.java.time.LocalDate,NotNull]
...的想法是将使用最特定的已定义i18n消息。如果必须以编程方式解决消息,我会这样做:
messageSource.getMessage(objectError, Locale locale)
如果我不得不遍历Thymeleaf模板中的ObjectError实例列表,那么如何获得类似的行为?通过objectError.getCodes()
返回值进行的“手动”迭代并不特别吸引人。
当然,我可以解析代码中的所有消息,然后仅通过单个模型参数将字符串列表传递给模板。