java - SpEL 表达式中转义冒号 ":"

标签 java spring spring-el

我正在尝试在 Spring 集成流程中构建一个 url,如下所示:

<int:header name="url" expression="${gateway.protocol}+'://'+${gateway.host}+':'+#{systemProperties['integration-test.port']}?:${gateway.port}+'/'+${gateway.context}" />

但是我不断收到以下错误:

SpelParseException: EL1041E:(pos 9): After parsing a valid expression, there is still more data in the expression: '':''

我尝试过使用\和\\,正如你所看到的,我在它周围有单引号,根据这里的文档 http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/expressions.html应该足够了。

任何帮助将不胜感激。

谢谢

最佳答案

您需要用单引号 ' 括住占位符...

expression="'${gateway.protocol}'+'://'+'${gateway.host}'+ ...

否则,无论他们决定做什么,SpEL 都会对其进行评估。

或者...

expression="'${gateway.protocol}://${gateway.host} ... '"

关于java - SpEL 表达式中转义冒号 ":",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25166951/

相关文章:

java - 如何将 XML 转换为 List<Map>

java - 将@RequestBody 转换为对象

java - Hibernate sql语句中多对多语法错误

java - 我可以直接从 SpEL 表达式创建 bean 吗?

java - Spring:根据配置文件加载其他属性

java - 捕获图像在 HTC 设备上崩溃

java - 在同一个Java数组中调用扩展类函数

java - 为 Spring Data 运行的每个查询设置注释

spring.data.rest.defaultMediaType=application/json 不起作用

spring - 使用 spring3 @Value 访问 PropertyPlaceholderConfigurer 值?