標準の使用法を理解していますfmt:message
タグ、つまり、JSPで次のように定義します。
<fmt:setBundle basename="ResourceBundles.ValidationErrorMessages" var="errorMessages" />
<fmt:message key="${error.value}" bundle="${errorMessages}" />
エラーを想定します。値= "MQ2009"
「ValidationErrorMessages」という名前のプロパティファイルには次のエントリがあります
MQ2009 = MQ time out
今私の要件は次のようなものを持つことです
MQ2009 = Mq timeout happened for message {messagename}.
messagename
変数を動的に定義できますか?つまり、実行時にmessagename
がリクエストスコープで使用可能になり、プロパティファイルで置き換える必要があります。
これどうやってするの?カスタムタグが必要ですか、またはJava EEがこの機能を提供していますか?
次のようなプロパティを定義できます
MQ2009 = Mq timeout happened for {0}
その後
<fmt:message key="MQ2009" var="val" >
<fmt:param value="${valueComingFromSomeParameter}"/>
</fmt:message>
その後
<c:out value="${val}"/>
プロパティファイル
MQ2009 = Mq timeout happened for message {0}
次に、<fmt:param value="${messagename}"/>
タグ付き<fmt:message
タグ。messagename
はリクエストスコープ内にあります。