Struts 2如何从自定义验证程序中获取i18n消息 [英] Struts 2 how to get i18n messages from within a custom validator
问题描述
如何从定制验证器的密钥中获取消息?如 Struts 2-重用自定义表达式验证器所述,您可以获得默认消息,如下所示: :
How is it possible to get the message from key in the custom validator ?! As mentioned in Struts 2 - reusing Custom Expression Validator you can get default message as :
public void validate(Object o) throws ValidationException {
//Do some logic
addActionError(getDefaultMessage());
}
推荐答案
您的自定义验证程序应扩展ValidatorSupport
类,该类具有便捷的方法getMessage(Object object)
来获取使用key
参数设置的i18n消息.
Your custom validator should extend ValidatorSupport
class, which has a convenient method getMessage(Object object)
to get i18n messages set with key
parameter.
因此在validate
方法内部,而不是调用getDefaultMessage
(简单返回默认消息),调用getMessage
,它将使用附加的messageParams
评估key
参数.
So inside validate
method instead of calling getDefaultMessage
(which simple returns default message) call getMessage
which will evaluate key
parameter with additional messageParams
.
public void validate(Object o) throws ValidationException {
//Do some logic
addActionError(getMessage(o));
}
这篇关于Struts 2如何从自定义验证程序中获取i18n消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!