2

属性でタグを使用することはできません:

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

このメッセージ タグを関数として使用する方法はありません。

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

唯一の方法は、メッセージを var に保存することです (ここで説明したように) が、関数を使用する方がこれよりもはるかに優れていると思います。

<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 にアクセスする設計上の問題があります (ここで述べたように)。

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

属性で春のメッセージにアクセスするより良い方法はありませんか?

4

0 に答える 0