如何解析混合文字文本和实际#{SpEL表达式}的“复杂”模板式SpEL表达式?例如:
the dog says #{dog.getSound()}
Apache Camel在其表达式语言(包括SpEL)中支持这种类似模板的功能,但我无法根据vanilla SpEL直接完成此操作。
答案 0 :(得分:3)
如user guide中所述,在TemplateParserContext中评估表达式:
String randomPhrase =
parser.parseExpression("random number is #{T(java.lang.Math).random()}",
new TemplateParserContext()).getValue(String.class);
// evaluates to "random number is 0.7038186818312008"