JSp

如何在EL中连接字符串?

发布于 2021-02-01 16:30:49

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

<c:set var="promoPrice" value="4.67" />
<p>${(promoPrice != null) ? "ONLY $${promoPrice}" : "FREE"}</p>
关注者
0
被浏览
98
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    如果您已经在使用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变量,其串联值仅内联在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或为空,则无论如何都不会打印出来。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看