博客详情

springEL编程式使用 (原创)

作者: 朝如青丝暮成雪
发布时间:2019-04-18 15:23:59  文章分类:java编程   阅读(1072)  评论(0)

java示例代码


SpringELTest.java

package com.tingcream.pagehelper.extend;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Test;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.ParserContext;
import org.springframework.expression.spel.standard.SpelExpressionParser;

import com.tingcream.pagehelper.model.User;

public class SpringELTest {
	
	@Test
	public void test1() {
		 try {
		     ExpressionParser parser = new SpelExpressionParser();
			 Expression exp = parser.parseExpression("'Hello World'.length()"); 
			 int length=exp.getValue(Integer.class);
			 System.out.println(length);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	@Test
	public void    test2() {
		try {
			 User user =new User();
			  user.setAddr("北京");
			  user.setUsername("张三");
			  user.setPhone("1356666666");
			 ExpressionParser parser = new SpelExpressionParser();
			
			 Expression exp = parser.parseExpression("username");
			 System.out.println(exp.getValue(user,String.class));;
			 
			 exp.setValue(user, "张三2");
			 System.out.println(exp.getValue(user,String.class));;
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	@Test
	public void test3() {
		List list =new ArrayList();
		list.add("aaa");
		list.add("bbbb");
		list.add("ccccc");
		 ExpressionParser parser = new SpelExpressionParser();
		Integer s= parser.parseExpression("[0].length()").getValue(list,Integer.class);
		System.out.println(s);
	}
	@Test
	public void test4() {
		try {
			Map map =new HashMap();
			map.put("name", "张小明");
			map.put("age", 22);
			map.put("city", "广州");
			 ExpressionParser parser = new SpelExpressionParser();
			  Expression exp= parser.parseExpression("#{['name']}", ParserContext.TEMPLATE_EXPRESSION);
			  String name = exp.getValue(map,String.class);
			  System.out.println(name);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	 
}

=============================



spring EL 官方文档:

https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#expressions



关键字:  springEL
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号