3

在我的消息资源文件中,我有以下几行:

error.required={0} is required
labels.email=E-mail

要验证电子邮件字段,我正在使用注释验证器,如下所示:

@RequiredStringValidator(key="error.required")
public String getEmail() {
    return email;
}

我的问题是:如何使用注释将labels.email资源值传递给消息的参数?我正在尝试财产,但没有任何成功。{0}RequiredStringValidatormessageParam

4

2 回答 2

1

试试这个

@RequiredStringValidator(message = "${getText('error.required', new java.lang.String[] {getText('labels.email')})}")

getText()如果您的操作扩展为通过指定为参数的键获取资源消息,则可以使用ActionSupport。它在同一个表达式中应用了两次来构建您的消息。第一次没有参数,第二次有参数并使用重载getText()实现。

于 2013-08-10T09:31:07.633 回答
0

像这样怎么样?

@RequiredStringValidator(key="error.required", params={"1",getText("labels.email")})

或在 Action-validation.xml 中

<field name="hove">
    <field-validator type="required">
        <message key="error.required">
            <param name="1">getText('labels.email')</param>
        </message>
    </field-validator>
</field>

可能会呈现参数化消息。

于 2014-07-02T05:37:41.943 回答