1. ホーム
  2. jsp

JSP EL 文字列の連結 [重複]について

2023-07-12 05:17:35

質問

ELで文字列を連結するには?

このようなことをしたいのですが、うまくいきません。

${var1 == 0 ? 'hi' : 'hello ' + var2}

をキャストしようとすると例外が発生します。 'hello'Double

どのように解決するのですか?

この + 演算子は、JSPでは常に数値の足し算を意味します 式言語 . 文字列の連結を行うには、次のような隣接する複数のEL式を使用しなければなりません。 ${str1}${str2} .

あなたの例を正しく読めば、これは次のように書くことができます。

${var1 == 0 ? 'hi' : 'hello '}${var1 == 0 ? '' : var2}


編集

もう一つの可能性は JSTL に依存するテキストが多い場合は、より長くなりますが、より明確になるかもしれません。 var1 :

<c:choose>
    <c:when test="${var1 == 0}">hi</c:when>
    <c:otherwise>hello <c:out value="${var2}"/></c:otherwise>
</c:choose>

c:out は、JSPのバージョンによっては不要かもしれません。