Joe*_*ard 102
使用EL 2,您可以执行以下操作:
#{'this'.concat(' is').concat(' a').concat(' test!')}
Run Code Online (Sandbox Code Playgroud)
McD*_*ell 46
这个答案已经过时了.技术已经发展.除非您使用遗留系统,否则请参阅Joel的回答.
EL中没有字符串连接运算符.如果您不需要连接字符串来传递给其他操作,只需将这些表达式放在一起:
${value}${(empty value)? 'none' : ' enabled'}
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 40
如果您已经使用EL 3.0(Java EE 7; WildFly,Tomcat 8,GlassFish 4等),那么您可以使用new +=运算符:
<c:out value="${empty value ? 'none' : value += ' enabled'}" />
Run Code Online (Sandbox Code Playgroud)
如果你还没有使用EL 3.0,并且它value是一个真实的java.lang.String实例(因此不是例如java.lang.Long),那么使用EL 2.2(Java EE 7; JBoss AS 6/7,Tomcat 7,GlassFish 3等)调用的能力带参数的直接方法,然后应用于String#concat():
<c:out value="${empty value ? 'none' : value.concat(' enabled')}" />
Run Code Online (Sandbox Code Playgroud)
或者,如果您还没有使用EL 2.2,那么使用JSTL <c:set>创建一个新的EL变量,其中连接的值只是内联值:
<c:set var="enabled" value="${value} enabled" />
<c:out value="${empty value ? 'none' : enabled}" />
Run Code Online (Sandbox Code Playgroud)
Ani*_*rni 12
从表达式语言3.0开始,使用+ =运算符进行字符串连接是有效的.
${(empty value)? "none" : value += " enabled"} // valid as of EL 3.0
Run Code Online (Sandbox Code Playgroud)
引用EL 3.0规范.
字符串连接运算符
评估
Run Code Online (Sandbox Code Playgroud)A += B
- 强制A和B为字符串.
- 返回A和B的连接字符串.
| 归档时间: |
|
| 查看次数: |
93660 次 |
| 最近记录: |