在属性中使用Spring消息标记 - 最好的方法?

时间:2013-06-26 08:37:54

标签: spring spring-mvc taglib

无法在属性中使用标记:

<input type="submit" value="<sp:message code="send" />" />

无法将此消息标记用作函数:

<input type="submit" value="${sp:message('send')}" />

唯一的方法是将消息保存在var(as mentioned here)中,但我认为使用函数会比这更好:

<sp:message code="send" var="tmp_send" />
<input type="submit" value="${tmp_send}" />

所以我想编写自己的函数:

<taglib xmlns...>
    <function>
        <description>Be able to use Spring messages in attribute values</description>
        <name>message</name>
        <function-class>com.example.MyTagLib</function-class>
        <function-signature>String message(java.lang.String)</function-signature>
    </function>
</taglib>

但是在这里访问MessageSource存在设计问题(as mentioned here)。

public class MyTagLib {
    public static String message(String code) {
        // TODO: use messageSource to resolve message
        return code;
    }
}

是否有更好的方法来获取属性中的弹簧消息?

0 个答案:

没有答案