Spring EL 简介

本文参考自Spring官方文档 Spring EL。在Java上有很多表达式语言,在很多领域有各种各样的应用。我们应该很熟悉Java EE的表达式语言吧,让我们能在JSP中随意插入数据。Spring也提供了一个表达式语言并添加了自己的功能,以便可以方便的和各种Spring框架交互。我们在项目中不需要手动管理Spring表达式的这些接口和实例,只需要在合适的时候编写Spring表达式,转换器就会自动解
摘要由CSDN通过智能技术生成

本文参考自Spring官方文档 Spring EL

在Java上有很多表达式语言,在很多领域有各种各样的应用。我们应该很熟悉Java EE的表达式语言吧,让我们能在JSP中随意插入数据。Spring也提供了一个表达式语言并添加了自己的功能,以便可以方便的和各种Spring框架交互。我们在项目中不需要手动管理Spring表达式的这些接口和实例,只需要在合适的时候编写Spring表达式,转换器就会自动解析并转换表达式。

创建和使用解析器

当然,为了说明一下Spring表达式,我们在这里还是手动创建一个解析器来解析表达式。下面是简单的单元测试。

public class SpringElTest {
    private static ExpressionParser parser = new SpelExpressionParser();

    @Test
    public void testHelloWorld() {
        Expression expression = parser.parseExpression("'你好世界!'");
        String result = (String) expression.getValue();
        System.out.println(result);

    }
}

还可以使用更复杂的例子。

    @Test
    public void testStringOperation() {
        Expression expression = parser.parseExpression("'你好'.concat('世界!')");
        String result = (String) expression.getValue();
        System.out.println(result);
        expression = parser.parseExpression("'Hello world!'.toUpperCase()");
        result = expression.getValue(String.class);
        System.out.println(result);
    }

Spring文档解释了如何创建和使用Spring表达式的各个接口、编译和配置等等。但是一般情况下我们用不到这些功能。这里就只介绍一下Spring El的语法。如果需要详细了解这些信息的话还是直接看文档吧。

语言指南

这部分介绍了Spring EL表达式的使用。为了省事就直接引用了文档的代码了。下面这些代码没有说明的话都是Spring文档的例子。

字面值

表达式支持各种类型的字面值。字符串字面值需要使用单引号包括,其他类型字面值直接写就行。

ExpressionParser parser = new SpelExpressionParser();

// evals to "Hello World"
String helloWorld = (String) parser.parseExpression("'Hello World'").getValue();

double avogadrosNumber = (Double) parser.parseExpression("6.0221415E+23").getValue();

// evals to 2147483647
int maxValue = (Integer) parser.parseExpression("0x7FFFFFFF").getValue();

boolean trueValue = (Boolean) parser.parseExpression("true").getValue();

Object nullValue = parser.parseExpression("null").getValue();

属性和集合

S

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值