EL 中的字符串串联

2022-08-31 15:59:23

我想在EL(表达式语言)的三元运算符中连接一个字符串。

假设有一个名为 value 的变量。如果它是空的,我想使用一些默认文本。否则,我需要用一些静态文本附加它。

${(empty value)? "none" : value + " enabled"}

但是,这不会编译。写这个的正确方法是什么?或者这甚至有可能吗?


答案 1

使用 EL 2,您可以执行以下操作:

#{'this'.concat(' is').concat(' a').concat(' test!')}

答案 2

这个答案已经过时了。技术已经向前发展。除非你正在使用遗留系统,否则请看Joel的答案


EL 中没有字符串串联运算符。如果您不需要串联字符串来传递到其他操作中,只需将这些表达式彼此相邻放置即可:

${value}${(empty value)? 'none' : ' enabled'}