Ognl的讲解
来源:互联网 发布:vue.js可视化表单设计 编辑:程序博客网 时间:2024/06/08 05:40
这里我要说的ognl,它主要是获取从一个集合中获取值,下面是代码实例
@Test public void test01() { try { User u = new User(1,"xiaoer","小二"); Department dep = new Department("财务处"); u.setDep(dep); //第二个参数是root System.out.println(Ognl.getValue("nickname",u)); System.out.println(Ognl.getValue("dep.name",u)); } catch (OgnlException e) { e.printStackTrace(); } }
结果:
@Test public void test02() { try { Map<String,Object> map = new HashMap<String,Object>(); User u = new User(1,"xiaoer","小二"); Department dep = new Department("财务处"); u.setDep(dep); map.put("user",u); //以下表达式是在root中找,u是root System.out.println("第一个:"+Ognl.getValue("username",map,u)); //#user.username是在map这个map中找 System.out.println("第二个:"+Ognl.getValue("#user.username",map,u)); //Ognl其实就是一个大的Context,根的key就是root,所以可以通过#root.xx来取值 System.out.println("第三个:"+Ognl.getValue("#root.username",map,u)); //这个#号只能用于对象前 System.out.println("第四个:"+Ognl.getValue("#username",map,u)); } catch (OgnlException e) { e.printStackTrace(); } }
public class User { private int id; private String username; private String nickname; private Department dep; public int sum(int a,int b) { return a+b; } public String hello(String word) { return "hello "+word; } }@Test public void test04() { try { List<User> users = new ArrayList<User>(); users.add(new User(1,"dg","大哥")); users.add(new User(2,"eg","二哥")); users.add(new User(3,"sg","三哥")); users.add(new User(4,"sgd","四哥")); //如果要取list中的元素,需要通过#root[index]来完成取值 System.out.println(Ognl.getValue("#root[1].nickname", users)); //Ognl还可以完成方法的调用 System.out.println(Ognl.getValue("#root[0].sum(1,3)", users)); User u = new User(); System.out.println(Ognl.getValue("hello('world')", u)); //可以通过调用list中的get()方法获取某个下标的对象,然后完成导航 System.out.println(Ognl.getValue("get(0).username", users)); } catch (OgnlException e) { e.printStackTrace(); }
结果:
0 0
- Ognl的讲解
- OGNL技术讲解
- Struts2 ognl详细讲解
- ognl表达式 讲解
- SSH:Struts2框架(Ognl表达式的讲解和使用说明)
- struts2对ognl表达式的使用(配图解加讲解)
- struts2 Ognl用法(Ognl类的用法)
- OGNL 教程 OGNL简单特性模拟 OGNL简单的实现 OGNL入门 OGNL原理一角 OGNL学习
- ognl的%,#的使用
- Ognl的理解
- 关于OGNL的问题
- Struts2的OGNL
- Struts2 OGNL的增强
- ognl的使用
- struts2的OGNL表达式
- struts2的OGNL表达式
- ognl的in
- ognl表达式的研究
- Struts2学习记录-Value Stack(值栈)和OGNL表达式
- 数据结构链表——双链表
- 数字反转(升级版)
- Android开发环境配置问题
- struts2jar包作用
- Ognl的讲解
- Oracle EBS(ERP)行业分工(写给猎头)
- LeetCode之Decode Ways
- hdoj 1002 大数加法问题
- 第三章:验证码问题
- ios autolayerout
- 求任意一个数字的各位数字之和
- datatables 配套bootstrap样式使用 ajax篇
- NoSQL 数据建模技术