我正在尝试对neste spel表达式执行stringconcat-
我从一个豆子里得到主机名
<bean id="localhost" class="java.net.InetAddress" factory-method="getLocalHost" />
现在在另一个bean中,我想根据一些正则表达式匹配将主机名附加到构造函数的输入中。
<bean id="worker" class="a.b">
<constructor-arg value="#{localhost.hostName matches '.*north-usa.*' ? '${taskList}-#{conf.version}-#{localhost.hostName}' : '${taskList}-#{conf.version}' "/>
</bean>
出于某种原因,这是文本字符串的输出,其中只解析tasklist-
taskListA-#{conf.version}-#{localhost.hostName}
我想实现
taskListA-someConfVersion-someHostName
到目前为止我已经试过了
<bean id="worker" class="a.b">
<constructor-arg value="#{localhost.hostName matches '.*north-usa.*' ? "${taskList}-#{conf.version}-#{localhost.hostName}" : "${taskList}-#{conf.version}" "/>
</bean>
<bean id="worker" class="a.b">
<constructor-arg value="#{localhost.hostName matches '.*north-usa.*' ? '${taskList}-conf.version-localhost.hostName' : '${taskList}-#conf.version' "/>
</bean>
<bean id="worker" class="a.b">
<constructor-arg value="#{localhost.hostName matches '.*north-usa.*' ? '#(${taskList}-conf.version-localhost.hostName)' : '${taskList}-conf.version' "/>
</bean>
但都没用。任何帮助都将不胜感激。
1条答案
按热度按时间igetnqfo1#
我不知道spel中是否有类似嵌套表达式的内容,但我知道如何进行字符串串联: