jsp - 如何在 EL 中连接字符串?

标签 jsp jstl el string-concatenation

如何获取 promoPrice 变量作为字符串 ONLY $4.67 的一部分进行打印?

<c:set var="promoPrice" value="4.67" />
<p>${(promoPrice != null) ? "ONLY $${promoPrice}" : "FREE"}</p>

最佳答案

如果您已经使用 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 变量,其中串联的值刚刚内联到 value 中:

<c:set var="promoPriceString" value="ONLY $${promoPrice}" />
<p>${not empty promoPrice ? promoPriceString : 'FREE'}</p>

您的特定情况中,另一种方法是将表达式分成两部分:

<p>${not empty promoPrice ? 'ONLY $' : 'FREE'}${promoPrice}</p>

如果${promoPrice}为 null 或为空,无论如何都不会打印。

关于jsp - 如何在 EL 中连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6297262/

相关文章:

css - 如何修复 apache-tomcat-8.5.39 中的默认内容类型呈现问题?

java - jsp 中的转义符 '(勾选)

java - GAE servlet 的 doPost() 不起作用

java - C :url not appending jsessionid when cookies are disabled

java - JSTL c :set condition

jsf - 在 EL 表达式 : how to make it robust? 中将数据表对象 var 作为参数传递

java - 如何在 EL 表达式的文本中使用不同的支持 bean 属性?

java - 如何使用破折号作为分隔符在 JSTL 中获取语言环境?

java - JSTL 使用 scriptlet

jsf - IntelliJ 中的 EL 属性不足