Это не имеет ничего общего с пробелами в этом случае, а скорее с начальным содержимым $ oldIndex.
Следующий шаблон:
#set ($i = '1')
#set ($i = $i + 1)
$i.class.name / $i
#set ($j = 1)
#set ($j = $j + 1)
$j.class.name / $j
отображает:
11 / java.lang.String
2 / java.lang.Integer
Таким образом, вам нужно преобразовать $oldIndex
в число, но способ сделать это зависит от инструментов, которые у вас есть в вашем контексте для этого (если вы не можете поместить $oldIndex
как число вконтекст в первую очередь).Например, вы обычно делаете что-то вроде #set ($oldIndex = $number.toNumber($oldIndex))
, если в вашем контексте присутствует NumberTool.
Существует метод, который, вероятно, будет работать во всех средах:
#set ($dummy = 1) ## creates an Integer variable
#set ($oldIndex = $dummy.valueOf($oldIndex)) ## uses Integer.valueOf() method
И этоэто, $oldIndex
содержит целое число!Обратите внимание, что метод Integer.valueOf()
может выдать NumberFormatException
, если ему дано нечто иное, чем представление числа.