我想创建一个Spring EL,其中两个整数连接为a-b,a和b是整数。Spring EL不支持concat函数,因为它们不是String。我尝试将它们转换为#T(java.lang.String).valueOf(user.id).concat('-').concat(#T(java.lang.String).valueOf(user.serviceId)),但这不起作用。正确的表达应该是什么?
a-b
a
b
concat
String
#T(java.lang.String).valueOf(user.id).concat('-').concat(#T(java.lang.String).valueOf(user.serviceId))
ccgok5k51#
请使用下一个表达式#{T(java.lang.String).format('%d-%d', user.id, user.serviceId)}。希望这对您有所帮助。
#{T(java.lang.String).format('%d-%d', user.id, user.serviceId)}
更新。
如果此表达式将在@Cacheable(key)字段中使用,请按以下方式更新表达式:T(java.lang.String).format('%d-%d', #user.id, #user.serviceId) .
@Cacheable(key)
T(java.lang.String).format('%d-%d', #user.id, #user.serviceId)
p5fdfcr12#
我添加了它,它在java spring booot缓存中确实有效:
@Cacheable(cacheNames = ALL_CLASS_MKTU_BY_RESH_DATA, key = "{T(java.lang.String).format(\"%d-%d-%d\",#id,#year,#type)}") public List<String> findAll(int id, int year, int type) {
//秒}
2条答案
按热度按时间ccgok5k51#
请使用下一个表达式
#{T(java.lang.String).format('%d-%d', user.id, user.serviceId)}
。希望这对您有所帮助。更新。
如果此表达式将在
@Cacheable(key)
字段中使用,请按以下方式更新表达式:T(java.lang.String).format('%d-%d', #user.id, #user.serviceId)
.p5fdfcr12#
我添加了它,它在java spring booot缓存中确实有效:
//秒}