如何让promoPrice变量作为字符串的一部分打印$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等)上,那么
<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等)上,那么可以使用new =运算符:
<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}为空或为空,则不会打印.