使用表达式语言获取值
To use expression language to get values
我的表达是:#age*10
并且我给 age 赋值 15.6
这样的结果是156.0
其实我最后想要得到的结果是:156
我在代码中可以做到,但是如何通过修改表达式来做到。
谢谢
您需要使用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
我的表达是:#age*10
并且我给 age 赋值 15.6
这样的结果是156.0
其实我最后想要得到的结果是:156
我在代码中可以做到,但是如何通过修改表达式来做到。
谢谢
您需要使用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