2016-04-01 4 views
1

私は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> 

これは存在するメッセージを必要としますが、空白のままにすることができます

+0

あなたは「someTest」に何を書いていますか? 'test =" $ {空の変数ではない} "のようになります。" – Peter

+0

これは私の質問です。もし私がそれを知っていたら、私は自分自身の質問に答えるだろう。 – HellishHeat

+0

メッセージが存在しない場合、Springはデフォルトで例外をスローします。メッセージバンドルはプロパティファイルではなく、そのまま使用しないでください。それらはI18Nのために使用されます。メッセージが存在しない場合、パートを隠すことで何を達成したいですか? –

答えて

1

言及意図しない使用のほかに、これを試してみてください。

+0

これは悪い妥協ではありません。私はそれを投票するつもりですが、私の基準をすべて満たしていないので答えとして受け入れられません。ちょっとした初期作業はあるものの、別注のタグが良いと思う。 – HellishHeat

関連する問題