Использовать язык выражений для получения значений
Мое выражение:#age*10
И я присвоил возрасту значение 15,6. Результатом этого является 156.0
На самом деле конечный результат, который я хочу получить, - это156
Я могу сделать это в коде, но как это сделать, изменив выражение.
Спасибо
1 ответ
Решение
Вам нужно использовать Integer.class
как показано ниже:
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;
public class Demo {
public static void main(String[] args) {
ExpressionParser parser = new SpelExpressionParser();
StandardEvaluationContext context = new StandardEvaluationContext();
Double age = 15.6;
context.setVariable("age", age);
Expression exp = parser.parseExpression("#age*10");
int result = exp.getValue(context, Integer.class);
System.out.println(result);
}
}
Выход:
156