【问题标题】:Struts 2 how to get i18n messages from within a custom validatorStruts 2 如何从自定义验证器中获取 i18n 消息
【发布时间】:2015-01-20 20:16:27
【问题描述】:

如何从自定义验证器中的密钥获取消息?!正如Struts 2 - reusing Custom Expression Validator 中提到的,您可以获得默认消息:

public void validate(Object o) throws ValidationException {

    //Do some logic
    addActionError(getDefaultMessage());
}

【问题讨论】:

  • 使用getMessage,顺便说一句,downvote 不是我的。
  • @Andrea Ligios 要求我提出不同的问题 :(stackoverflow.com/questions/28038827/… 我被误导了 ;) 感谢您的回答,请发送答案,以便我接受!
  • 两者都赞成...现在它很适合

标签: struts2 internationalization validation


【解决方案1】:

您的自定义验证器应该扩展 ValidatorSupport 类,它有一个方便的方法 getMessage(Object object) 来获取使用 key 参数设置的 i18n 消息。

所以在validate 方法中,而不是调用getDefaultMessage(简单地返回默认消息)调用getMessage,它将评估key 参数和额外的messageParams

public void validate(Object o) throws ValidationException {
    //Do some logic
    addActionError(getMessage(o));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 2012-01-01
    • 2013-01-28
    • 2013-10-04
    相关资源
    最近更新 更多