私はjspファイルにテキストを表示したいmessages.propertiesファイルを持っています。春のメッセージタグ。プロパティが存在するかどうかだけを表示する方法
messages.properties:JSP内部
my.message.key=hello world
:
<spring:message code="my.message.key"/>
これが正常に動作します。しかし、もしこれがまったく存在することを確認し、それがあればそれを表示しようとすればどうでしょうか?たとえば、単にプロパティファイルから削除すると、このメッセージが含まれるセクションを非表示にすることができます。
<c:if test="someTest">
Bla bla bla
<spring:message code="my.message.key.maybe.not.there"/>
</c:if>
ありがとうございます。
(理由はコメントの)編集:
上記クリア「someTest」であるとは私にはわからないものです。それが問題です。テストは何ですか(そのプロパティがプロパティファイルに存在するかどうかを確認する)?
さらに編集:
私は見つけることができるクリーンな方法は、メッセージキーが見つからない場合に例外をスローし、そしてそこから行かないオーダーメイドのメッセージタグを作成することです。より早い方法があるかどうか聞いてみたい。私はそこに存在しなければならないと感じる。
<spring:message code="my.message.key" var="message" />
<c:if test="${not empty message}">
here goes your code
</c:if>
これは存在するメッセージを必要としますが、空白のままにすることができます
あなたは「someTest」に何を書いていますか? 'test =" $ {空の変数ではない} "のようになります。" – Peter
これは私の質問です。もし私がそれを知っていたら、私は自分自身の質問に答えるだろう。 – HellishHeat
メッセージが存在しない場合、Springはデフォルトで例外をスローします。メッセージバンドルはプロパティファイルではなく、そのまま使用しないでください。それらはI18Nのために使用されます。メッセージが存在しない場合、パートを隠すことで何を達成したいですか? –