Если вы уже используете EL 3.0 (Java EE 7; WildFly, Tomcat 8, GlassFish 4 и т. Д.), Вы можете использовать для этого новый оператор +=
:
<p>${not empty promoPrice ? 'ONLY $' += promoPrice : 'FREE'}</p>
Если вы еще не используете EL 3.0, используйте возможность EL 2.2 (Java EE 7; JBoss AS 6/7, Tomcat 7, GlassFish 3 и т. Д.) Вызывать прямые методы с аргументами, которые затем применяются к String#concat()
<p>${not empty promoPrice ? 'ONLY $'.concat(promoPrice) : 'FREE'}</p>
Или, если вы еще даже не используете EL 2.2, используйте JSTL <c:set>
, чтобы создать новую переменную EL с объединенными значениями, просто вставленными в значение:
<c:set var="promoPriceString" value="ONLY $${promoPrice}" />
<p>${not empty promoPrice ? promoPriceString : 'FREE'}</p>
В вашем конкретном случае другой способ состоит в том, чтобы разбить выражение на две части:
<p>${not empty promoPrice ? 'ONLY $' : 'FREE'}${promoPrice}</p>
Если ${promoPrice}
равно нулю или пусто, оно все равно не будет напечатано.