春天的三元运营商

Jai*_*rat 3 spring spring-el

我的问题与这个问题类似.由于这个问题很老,所以想发布新问题.

我也在写下我的表达方式

<property name="to" value="#{ systemProperties['BR']} == '01' ? 
    ${PROPERTY_VALUE_1_FROM_BUNDLE} : 
    ${PROPERTY_VALUE_2_FROM_BUNDLE}" />
Run Code Online (Sandbox Code Playgroud)

当我从我的bean中获取"to"变量的值时.它给了我类似下面的东西

01='01'? value1 : value2
Run Code Online (Sandbox Code Playgroud)

它没有在XML本身中解析我的表达式.

我在这里做错了吗?

Gar*_*ell 8

你太早终止了SpEL; 它应该是...

<property name="to" value="#{ systemProperties['BR'] == '01' ? 
    '${PROPERTY_VALUE_1_FROM_BUNDLE}' : 
    '${PROPERTY_VALUE_2_FROM_BUNDLE}' }" />
Run Code Online (Sandbox Code Playgroud)

请注意,您还需要在占位符周围使用单引号,以便将已解析的值视为文字.