1

3つの属性を取ることができるフィールドがあるとしましょう

<myTag a="something" b="something" c="something" />

変数が空白でない場合にのみ、これらの a、b、c 属性を含めたいとしましょう。だからELだとこうなる

<myTag a="${varA}" b="${varB}" c="${varC}" />

1 つ以上の変数が空白の場合 (たとえば varB が空の場合)、次のような出力が得られます。

<myTag a="a val" b c="c val" />

したがって、b はまだ存在しますが、空白の値を渡します。これにより、属性が空白の場合、一部のスプリング<form:etc>タグで問題が発生する可能性があります (たとえば、form:options の itemLabel など)。属性が完全に表示されないようにする簡単な方法はありますか?

私は私ができることを理解しています

<c:if test="${empty b}">
    <myTag a="${varA}" c="${varC}" />
</c:if>

しかし、それは、それぞれが空白になる可能性がある場合、属性の数が増えるにつれて、巨大な決定木が必要になることを意味します。

これを行うためのより良い方法を知っている人はいますか?

4

0 に答える 0