19

標準fmt:messageタグの使用法を理解しています。つまり、JSP で次のようなものを定義しています。

<fmt:setBundle basename="ResourceBundles.ValidationErrorMessages" var="errorMessages" />
<fmt:message key="${error.value}" bundle="${errorMessages}" />

error.Value = "MQ2009" とします。

「ValidationErrorMessages」という名前のプロパティ ファイルには、次のエントリがあります。

MQ2009 = MQ time out

今、私の要件は次のようなものを持つことです

MQ2009 = Mq timeout happened for message {messagename}.

messagename変数を動的に定義できますか? つまり、実行時に、messagenameリクエスト スコープで使用可能になり、プロパティ ファイルで置換する必要があります。

これどうやってするの?カスタムタグが必要ですか、それとも Java EE は私が知らないこの機能を提供していますか?

4

2 に答える 2

37

次のようなプロパティを定義できます

MQ2009 = Mq timeout happened for {0}

その後

<fmt:message key="MQ2009" var="val" >
   <fmt:param value="${valueComingFromSomeParameter}"/>
</fmt:message>

その後

<c:out value="${val}"/>
于 2012-10-16T04:57:23.877 に答える
5

あなたのプロパティファイルで

MQ2009 = Mq timeout happened for message {0}

次に、リクエストスコープ内のタグで<fmt:param value="${messagename}"/>タグをネストできます。<fmt:messagemessagename

于 2012-10-16T05:02:12.923 に答える