EL 中的字符串串联
我想在EL(表达式语言)的三元运算符中连接一个字符串。
假设有一个名为 value 的变量。如果它是空的,我想使用一些默认文本。否则,我需要用一些静态文本附加它。
${(empty value)? "none" : value + " enabled"}
但是,这不会编译。写这个的正确方法是什么?或者这甚至有可能吗?
我想在EL(表达式语言)的三元运算符中连接一个字符串。
假设有一个名为 value 的变量。如果它是空的,我想使用一些默认文本。否则,我需要用一些静态文本附加它。
${(empty value)? "none" : value + " enabled"}
但是,这不会编译。写这个的正确方法是什么?或者这甚至有可能吗?
使用 EL 2,您可以执行以下操作:
#{'this'.concat(' is').concat(' a').concat(' test!')}
这个答案已经过时了。技术已经向前发展。除非你正在使用遗留系统,否则请看Joel的答案。
EL 中没有字符串串联运算符。如果您不需要串联字符串来传递到其他操作中,只需将这些表达式彼此相邻放置即可:
${value}${(empty value)? 'none' : ' enabled'}