Struts 2 如何从自定义验证器中获取 i18n 消息

Struts 2 how to get i18n messages from within a custom validator

如何从自定义验证器中的密钥获取消息?!如 中所述,您可以获得默认消息:

public void validate(Object o) throws ValidationException {

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

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

所以在 validate 方法内部而不是调用 getDefaultMessage(简单的 returns 默认消息)调用 getMessage 将评估 key 参数附加 messageParams.

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