Java 表达式-表达式中还有更多内容
我使用的是SPEL表达式,当我的应用程序启动时出现此错误Java 表达式-表达式中还有更多内容,java,spring,spring-el,Java,Spring,Spring El,我使用的是SPEL表达式,当我的应用程序启动时出现此错误 ftpOutboundGateway.setRenameExpressionString("'/processed/headers['file_remoteFile']'"); 获取以下异常: EL1041E: After parsing a valid expression, there is still more data in the expression: 'file_remoteFile' 我做错了什么?任何帮助都将不胜感激
ftpOutboundGateway.setRenameExpressionString("'/processed/headers['file_remoteFile']'");
获取以下异常:
EL1041E: After parsing a valid expression, there is still more data in the expression: 'file_remoteFile'
我做错了什么?任何帮助都将不胜感激。请注意,您使用了4个
“
字符。“…”
用于将字符串传递给Java的方法。“…”
定义传递的参数也应被识别为字符串本身。字符串中的每个附加'
字符必须用两个'
字符转义。以下代码应该可以工作(未经测试,但捕获到错误):
从Spring框架文档中:
支持的文字表达式类型包括字符串、数值(int、real、hex)、布尔和null。字符串由单引号分隔。要将单引号本身放入字符串中,请使用两个单引号字符
您需要
'/processed/'+头[file\u remoteFile]
只是猜测一下<代码>ftpOutboundGateway.setRenameeExpressionString(“/processed/headers['file\u remoteFile']”)代码>获取此错误。解析左操作数时出现问题。它正在按原样打印。不获取键“file\u remoteFile”的值。
ftpOutboundGateway.setRenameExpressionString("'/processed/headers[''file_remoteFile'']'");