如何替换SpEL表达式中的字符串? [英] how to replace string in SpEL expression?
问题描述
i在我的spring集成项目中定义的ftp适配器,并使用
mv
命令移动ftp服务器中的文件,目录结构是:ftp-root
----------- Directory1\
----------- ------ in\
---------------------------file.in
----------------- out \
我想移动文件 如何使用SpEL表达式替换文件.in
在 ftp-root \Directory1\in\
目录中移动 ftp-root \Directory1\\ \\ out \
与 .out.rpt
扩展名 ftp-root \Directory1\out\a.out
i使用 int-ftp:出站网关
适配器运行 mv $ c $我的代码是:
$ p $ < int-ftp:outbound-gateway id =gatewayMv
session-factory =ftpSessionFactory
expression =payload.remoteDirectory +'/'+ payload.filename
request-channel =mvChannel
command =mv
rename-expression =payload.remoteDirectory +'/'+ payload.filename
reply-channel =aggregateResultsChannel/> ;
in
在重命名表达式选项中使用 out
? code> rename-expression =payload.remoteDirectory +'/'+ payload.filename.replaceFirst('in','out')
在大多数情况下,SpEL的工作方式与普通Java相似。由于 filename
是字符串
,您可以申请任何字符串操作。
firstly,thanks for attention
i defined ftp adapter in my spring integration project and used mv
command to move files in ftp server,directory structure is:
ftp-root
-----------Directory1\
-----------------in\
---------------------------file.in
-----------------out\
i want to move file file.in
in ftp-root\Directory1\in\
directory to move ftp-root\Directory1\out\
with .out.rpt
extension ftp-root\Directory1\out\a.out
i used int-ftp:outbound-gateway
adapter to run mv
command on ftp server,my code is:
<int-ftp:outbound-gateway id="gatewayMv"
session-factory="ftpSessionFactory"
expression="payload.remoteDirectory + '/' + payload.filename"
request-channel="mvChannel"
command="mv"
rename-expression="payload.remoteDirectory + '/' + payload.filename "
reply-channel="aggregateResultsChannel"/>
how to use SpEL expression to replace in
with out
in rename-expression option?
rename-expression="payload.remoteDirectory + '/' + payload.filename.replaceFirst('in', 'out')"
In most cases SpEL work like the regular Java. Since filename
is a String
you can apply for it any string operation.
这篇关于如何替换SpEL表达式中的字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!