(十六)表达式原理

        要明确的是,在使用表达式的过程之中,我们除了利用字符串数据操作以外,也可以进行数学的操作,

范例:进行数的操作

package cn.zwb.demo;
import org.springframework.expression.EvaluationContext;
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 TestELSimple {
	public static void main(String[] args) {
		//1.定义要操作的表达式,使用者更多多的是关注此部分,而不关注具体的解析处理部分,
		String pstr="1 + 2";
		//2.要定义一个表达式的解析器,本次使用的是spel表达式解析器;
		ExpressionParser parpser = new SpelExpressionParser();
		//3.使用特定的解析器来处理指定的字符串操作;
		Expression exp = parpser.parseExpression(pstr);
		//定义相关的一些环境属性,
		EvaluationContext context=new StandardEvaluationContext();
		System.out.println(exp.getValue(context));
	}
}
结果:3

        可以发现除了编写字符串之外还可以编写数字,甚至各种字符串的数据,那么如果是由我们自己编写这种表达式,那么首先一定要对其进行一个判断,判断表达式应该由哪些组成,而后要拆分组成的内容,最后要进行字符串相关的数据类型转换,从而得出最终的计算结果.


1.首先必须明确的按照指定的结构要求定义出表达式,例如"1+2";

2.随后需要准备出spel的表达式解析器,而进行解析的时候要按照如下的步骤进行:

    ●使用一个专门的断词器将给定的表达式字符串拆分为Spring可以认可的数据格式;

    ●随后要根据断词器处理的操作结果生成相应的语法结构;

    ●并且在这一个过程之中就需要进行表达式的对错检查了;

3.将已经处理后的表达式定义到一个专门的表达式对象之中等待结果的计算;

4.但是考虑到表达式里面可能存在有部分的占位符变量的内容,所以在进行表达式计算之前需要设置一个表达式上下文对象进行占位变量内容的处理;

5.最后设置了变量内容,别切利用表达式对象就可以计算出表达式最终所执行的结果;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值