`
joseph_he
  • 浏览: 38750 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

ongl备忘

    博客分类:
  • java
 
阅读更多
Java代码 复制代码
  1. // ***************** root对象的概念 ******************* //   
  2. public void testOgnl_01() throws Exception{   
  3.     User user = new User();   
  4.     user.setUsername("张三");   
  5.        
  6.     //相当于调用user.getUsername()方法   
  7.     String value = (String)Ognl.getValue("username", user);   
  8.     System.out.println(value);   
  9. }   
  10.   
  11. public void testOgnl_02() throws Exception{   
  12.     User user = new User();   
  13.     Person p = new Person();   
  14.     p.setName("张三");   
  15.     user.setPerson(p);   
  16.        
  17.     //相当于调用user.getPerson().getName()方法   
  18.     String value = (String)Ognl.getValue("person.name", user);   
  19.     System.out.println(value);   
  20. }   
  21.   
  22. public void testOgnl_03() throws Exception{   
  23.     User user = new User();   
  24.     Person p = new Person();   
  25.     p.setName("张三");   
  26.     user.setPerson(p);   
  27.        
  28.     //可以使用#root来引用根对象,相当于调用user.getPerson().getName()方法   
  29.     String value = (String)Ognl.getValue("#root.person.name", user);   
  30.     System.out.println(value);   
  31. }   
[java] view plaincopy
 
  1.     // ***************** root对象的概念 ******************* //  
  2. public void testOgnl_01() throws Exception{  
  3. User user = new User();  
  4. user.setUsername("张三");  
  5. //相当于调用user.getUsername()方法  
  6. String value = (String)Ognl.getValue("username", user);  
  7. System.out.println(value);  
  8. }  
  9. public void testOgnl_02() throws Exception{  
  10. User user = new User();  
  11. Person p = new Person();  
  12. p.setName("张三");  
  13. user.setPerson(p);  
  14. //相当于调用user.getPerson().getName()方法  
  15. String value = (String)Ognl.getValue("person.name", user);  
  16. System.out.println(value);  
  17. }  
  18. public void testOgnl_03() throws Exception{  
  19. User user = new User();  
  20. Person p = new Person();  
  21. p.setName("张三");  
  22. user.setPerson(p);  
  23. //可以使用#root来引用根对象,相当于调用user.getPerson().getName()方法  
  24. String value = (String)Ognl.getValue("#root.person.name", user);  
  25. System.out.println(value);  
  26. }  

 

 

 

Java代码 复制代码
  1. // *********************** context的概念 **********************//   
  2.     public void testOgnl_04() throws Exception{   
  3.         Person p1 = new Person();   
  4.         Person p2 = new Person();   
  5.         p1.setName("张三");   
  6.         p2.setName("李四");   
  7.            
  8.         Map context = new HashMap();   
  9.         context.put("p1", p1);   
  10.         context.put("p2", p2);   
  11.            
  12.         String value = (String)Ognl.getValue("#p1.name + ',' + #p2.name", context, new Object());   
  13.         System.out.println(value);   
  14.     }   
  15.        
  16.     public void testOgnl_05() throws Exception{   
  17.         Person p1 = new Person();   
  18.         Person p2 = new Person();   
  19.         p1.setName("张三");   
  20.         p2.setName("李四");   
  21.            
  22.         Map context = new HashMap();   
  23.         context.put("p1", p1);   
  24.         context.put("p2", p2);   
  25.            
  26.         User root = new User();   
  27.         root.setUsername("zhangsan");   
  28.            
  29.         String value = (String)Ognl.getValue("#p1.name + ',' + #p2.name + ',' + username", context, root);   
  30.         System.out.println(value);   
  31.     }  
[java] view plaincopy
 
  1. // *********************** context的概念 **********************//  
  2. public void testOgnl_04() throws Exception{  
  3. Person p1 = new Person();  
  4. Person p2 = new Person();  
  5. p1.setName("张三");  
  6. p2.setName("李四");  
  7. Map context = new HashMap();  
  8. context.put("p1", p1);  
  9. context.put("p2", p2);  
  10. String value = (String)Ognl.getValue("#p1.name + ',' + #p2.name", context, new Object());  
  11. System.out.println(value);  
  12. }  
  13. public void testOgnl_05() throws Exception{  
  14. Person p1 = new Person();  
  15. Person p2 = new Person();  
  16. p1.setName("张三");  
  17. p2.setName("李四");  
  18. Map context = new HashMap();  
  19. context.put("p1", p1);  
  20. context.put("p2", p2);  
  21. User root = new User();  
  22. root.setUsername("zhangsan");  
  23. String value = (String)Ognl.getValue("#p1.name + ',' + #p2.name + ',' + username", context, root);  
  24. System.out.println(value);  
  25. }  

 

 

 

Java代码 复制代码
  1. // ******************* OGNL赋值操作 ************************//   
  2. public void testOgnl_06() throws Exception{   
  3.     User user = new User();   
  4.        
  5.     //给root对象的属性赋值,相当于调用user.setUsername()   
  6.     Ognl.setValue("username", user, "zhangsan");   
  7.        
  8.     System.out.println(user.getUsername());   
  9. }   
  10.   
  11. public void testOgnl_07() throws Exception{   
  12.     User user = new User();   
  13.        
  14.     Map context = new HashMap();   
  15.     context.put("u", user);   
  16.        
  17.     //给context中的对象属性赋值,相当于调用user.setUsername()   
  18.     Ognl.setValue("#u.username",context, new Object(), "zhangsan");   
  19.        
  20.     System.out.println(user.getUsername());   
  21. }   
  22.   
  23. public void testOgnl_08() throws Exception{   
  24.     User user = new User();   
  25.        
  26.     Map context = new HashMap();   
  27.     context.put("u", user);   
  28.        
  29.     //给context中的对象属性赋值,相当于调用user.setUsername()   
  30.     //在表达式中使用=赋值操作符来赋值   
  31.     Ognl.getValue("#u.username = '张三'",context, new Object());   
  32.        
  33.     System.out.println(user.getUsername());   
  34. }   
  35.   
  36. public void testOgnl_09() throws Exception{   
  37.     User user = new User();   
  38.     Person p = new Person();   
  39.        
  40.     Map context = new HashMap();   
  41.     context.put("u", user);   
  42.        
  43.     context.put("p", p);   
  44.        
  45.     //给context中的对象属性赋值,相当于调用user.setUsername()   
  46.     //在表达式中使用=赋值操作符来赋值   
  47.     Ognl.getValue("#u.username = '张三',#p.name = '李四'",context, new Object());   
  48.        
  49.     System.out.println(user.getUsername()+","+p.getName());   
  50. }   
[java] view plaincopy
 
  1.     // ******************* OGNL赋值操作 ************************//  
  2. public void testOgnl_06() throws Exception{  
  3. User user = new User();  
  4. //给root对象的属性赋值,相当于调用user.setUsername()  
  5. Ognl.setValue("username", user, "zhangsan");  
  6. System.out.println(user.getUsername());  
  7. }  
  8. public void testOgnl_07() throws Exception{  
  9. User user = new User();  
  10. Map context = new HashMap();  
  11. context.put("u", user);  
  12. //给context中的对象属性赋值,相当于调用user.setUsername()  
  13. Ognl.setValue("#u.username",context, new Object(), "zhangsan");  
  14. System.out.println(user.getUsername());  
  15. }  
  16. public void testOgnl_08() throws Exception{  
  17. User user = new User();  
  18. Map context = new HashMap();  
  19. context.put("u", user);  
  20. //给context中的对象属性赋值,相当于调用user.setUsername()  
  21. //在表达式中使用=赋值操作符来赋值  
  22. Ognl.getValue("#u.username = '张三'",context, new Object());  
  23. System.out.println(user.getUsername());  
  24. }  
  25. public void testOgnl_09() throws Exception{  
  26. User user = new User();  
  27. Person p = new Person();  
  28. Map context = new HashMap();  
  29. context.put("u", user);  
  30. context.put("p", p);  
  31. //给context中的对象属性赋值,相当于调用user.setUsername()  
  32. //在表达式中使用=赋值操作符来赋值  
  33. Ognl.getValue("#u.username = '张三',#p.name = '李四'",context, new Object());  
  34. System.out.println(user.getUsername()+","+p.getName());  
  35. }  

 

 

 

Java代码 复制代码
  1.   
  2. //****************** 使用OGNL调用对象的方法 **********************//   
  3. public void testOgnl_10() throws Exception{   
  4.     User user = new User();   
  5.     user.setUsername("张三");   
  6.        
  7.     String value = (String)Ognl.getValue("getUsername()", user);   
  8.     System.out.println(value);   
  9. }   
  10.   
  11. public void testOgnl_11() throws Exception{   
  12.     User user = new User();   
  13.        
  14.     Ognl.getValue("setUsername('张三')", user);   
  15.     System.out.println(user.getUsername());   
  16. }   
[java] view plaincopy
 
  1. //****************** 使用OGNL调用对象的方法 **********************//  
  2. public void testOgnl_10() throws Exception{  
  3. User user = new User();  
  4. user.setUsername("张三");  
  5. String value = (String)Ognl.getValue("getUsername()", user);  
  6. System.out.println(value);  
  7. }  
  8. public void testOgnl_11() throws Exception{  
  9. User user = new User();  
  10. Ognl.getValue("setUsername('张三')", user);  
  11. System.out.println(user.getUsername());  
  12. }  

 

 

 

Java代码 复制代码
  1. // ********************* OGNL中的this表达式 **********************//   
  2. public void testOgnl_14() throws Exception{   
  3.     Object root = new Object();   
  4.     Map context = new HashMap();   
  5.        
  6.     List values = new ArrayList();   
  7.     for(int i=0; i<11; i++){   
  8.         values.add(i);   
  9.     }   
  10.     context.put("values", values);   
  11.        
  12.     Ognl.getValue("@System@out.println(#values.size.(#this > 10 ? /"大于10/" : '不大于10'))", context, root);   
  13.        
  14. }   
  15.   
  16. public void testOgnl_15() throws Exception{   
  17.     User user = new User();   
  18.        
  19.     Ognl.getValue("setUsername('ZHANGSAN')", user);   
  20.     Ognl.getValue("@System@out.println(#this.username)", user);   
  21. }   
  22.   
  23. public void testOgnl_16() throws Exception{   
  24.     User user = new User();   
  25.        
  26.     Ognl.getValue("setUsername('ZHANGSAN')", user);   
  27.     Ognl.getValue("@System@out.println(username.(#this.toLowerCase()))", user);   
  28. }  
[java] view plaincopy
 
  1.     // ********************* OGNL中的this表达式 **********************//  
  2. public void testOgnl_14() throws Exception{  
  3. Object root = new Object();  
  4. Map context = new HashMap();  
  5. List values = new ArrayList();  
  6. for(int i=0; i<11; i++){  
  7. values.add(i);  
  8. }  
  9. context.put("values", values);  
  10. Ognl.getValue("@System@out.println(#values.size.(#this > 10 ? /"大于10/" : '不大于10'))", context, root);  
  11. }  
  12. public void testOgnl_15() throws Exception{  
  13. User user = new User();  
  14. Ognl.getValue("setUsername('ZHANGSAN')", user);  
  15. Ognl.getValue("@System@out.println(#this.username)", user);  
  16. }  
  17. public void testOgnl_16() throws Exception{  
  18. User user = new User();  
  19. Ognl.getValue("setUsername('ZHANGSAN')", user);  
  20. Ognl.getValue("@System@out.println(username.(#this.toLowerCase()))", user);  
  21. }  

 

 

 

Java代码 复制代码
  1. // ******************* 如何把表达式的解释结果作为另外一个表达式,OGNL中括号的使用 **********************//   
  2. public void testOgnl_17() throws Exception{   
  3.     Object root = new Object();   
  4.     Map context = new HashMap();   
  5.     User u = new User();   
  6.     u.setUsername("张三");   
  7.     context.put("u", u);   
  8.     context.put("fact""username");   
  9.        
  10.     /**  
  11.      * 1、首先把#fact表达式进行解释,得到一个值:username  
  12.      * 2、解释括号中的表达式#u,其结果是user对象  
  13.      * 3、把括号中表达式的结果作为root对象,解释在第一步中得到的结果(即把第一步的结果看成另外一个表达式)   
  14.      */  
  15.     String value = (String)Ognl.getValue("#fact(#u)", context, root);   
  16.     System.out.println(value);   
  17. }   
  18.   
  19. public void testOgnl_18() throws Exception{   
  20.     Person person = new Person();   
  21.     Map context = new HashMap();   
  22.     User u = new User();   
  23.     u.setUsername("张三");   
  24.     context.put("u", u);   
  25.        
  26.     /**  
  27.      * 相当于调用person这个根对象的fact方法,并把#u的解释结果作为参数传入此方法   
  28.      */  
  29.     String value = (String)Ognl.getValue("fact(#u)", context, person);   
  30.     System.out.println(value); //输出是 "张三,"   
  31. }   
  32.   
  33. public void testOgnl_19() throws Exception{   
  34.     Person person = new Person();   
  35.     Map context = new HashMap();   
  36.     User u = new User();   
  37.     u.setUsername("张三");   
  38.     context.put("u", u);   
  39.        
  40.     /**  
  41.      * 1、先计算表达式fact,得到结果是:username  
  42.      * 2、解释括号中的表达式#u,其结果是user对象  
  43.      * 3、把括号中表达式的结果作为root对象,解释在第一步中得到的结果(即把第一步的结果看成另外一个表达式)  
  44.      */  
  45.     String value = (String)Ognl.getValue("(fact)(#u)", context, person);   
  46.     System.out.println(value); //输出"张三"   
  47. }   
[java] view plaincopy
 
  1.     // ******************* 如何把表达式的解释结果作为另外一个表达式,OGNL中括号的使用 **********************//  
  2. public void testOgnl_17() throws Exception{  
  3. Object root = new Object();  
  4. Map context = new HashMap();  
  5. User u = new User();  
  6. u.setUsername("张三");  
  7. context.put("u", u);  
  8. context.put("fact""username");  
  9. /** 
  10. * 1、首先把#fact表达式进行解释,得到一个值:username 
  11. * 2、解释括号中的表达式#u,其结果是user对象 
  12. * 3、把括号中表达式的结果作为root对象,解释在第一步中得到的结果(即把第一步的结果看成另外一个表达式) 
  13. */  
  14. String value = (String)Ognl.getValue("#fact(#u)", context, root);  
  15. System.out.println(value);  
  16. }  
  17. public void testOgnl_18() throws Exception{  
  18. Person person = new Person();  
  19. Map context = new HashMap();  
  20. User u = new User();  
  21. u.setUsername("张三");  
  22. context.put("u", u);  
  23. /** 
  24. * 相当于调用person这个根对象的fact方法,并把#u的解释结果作为参数传入此方法 
  25. */  
  26. String value = (String)Ognl.getValue("fact(#u)", context, person);  
  27. System.out.println(value); //输出是 "张三,"  
  28. }  
  29. public void testOgnl_19() throws Exception{  
  30. Person person = new Person();  
  31. Map context = new HashMap();  
  32. User u = new User();  
  33. u.setUsername("张三");  
  34. context.put("u", u);  
  35. /** 
  36. * 1、先计算表达式fact,得到结果是:username 
  37. * 2、解释括号中的表达式#u,其结果是user对象 
  38. * 3、把括号中表达式的结果作为root对象,解释在第一步中得到的结果(即把第一步的结果看成另外一个表达式) 
  39. */  
  40. String value = (String)Ognl.getValue("(fact)(#u)", context, person);  
  41. System.out.println(value); //输出"张三"  
  42. }  

 

 

 

 

 

Java代码 复制代码
  1. // ********************* OGNL访问集合元素 **************************//   
  2. public void testOgnl_20() throws Exception{   
  3.     Object root = new Object();   
  4.     Map context = new HashMap();   
  5.        
  6.     //用OGNL创建List对象   
  7.     List listvalue = (List)Ognl.getValue("{123,'kdjfk','oooo'}", context, root);   
  8.     context.put("listvalue", listvalue);   
  9.        
  10.     //用OGNL创建数组   
  11.     int[] intarray= (int[])Ognl.getValue("new int[]{23,45,67}", context, root);   
  12.     context.put("intarray", intarray);   
  13.        
  14.     //用OGNL创建Map对象   
  15.     Map mapvalue = (Map)Ognl.getValue("#{'listvalue':#listvalue,'intarray':#intarray}", context, root);   
  16.     context.put("mapvalue", mapvalue);   
  17.        
  18.     Ognl.getValue("@System@out.println(#listvalue[0])", context, root);   
  19.     Ognl.getValue("@System@out.println(#intarray[1])", context, root);   
  20.     Ognl.getValue("@System@out.println(#mapvalue['intarray'][2])", context, root);   
  21.     Ognl.getValue("@System@out.println(#mapvalue.intarray[0])", context, root);   
  22. }  
分享到:
评论

相关推荐

    微信小程序 备忘录 (源码)

    微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小...

    小程序源码 备忘录 (代码+截图)

    小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+...

    微信小程序源码 备忘录(学习版)

    微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习...

    桌面备忘录(可放在桌面的备忘录)

    【标题】:“桌面备忘录(可放在桌面的备忘录)”是一款便捷的桌面工具,旨在帮助用户轻松记录日常生活和工作中的重要事项。这款备忘录软件设计精巧,可以直接放置在桌面上,便于随时查看和编辑,提高了工作效率与...

    微信小程序 小工具类 备忘录 (源代码+截图)

    微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源...

    备忘录,免费桌面备忘录,M备忘

    【标题】"备忘录,免费桌面备忘录,M备忘"是一个小巧而实用的桌面应用程序,专为用户设计,以帮助他们记录日常生活中的重要事项。这款软件基于MFC(Microsoft Foundation Classes)框架和ACCESS数据库技术,确保了在...

    Android 备忘录源码.rar

    《Android 备忘录应用开发详解》 在移动设备上,备忘录应用程序是一种非常实用的工具,它可以帮助用户记录日常琐事、待办事项或重要想法。Android平台提供了丰富的API和工具,使得开发者能够轻松构建这样的应用。...

    Android开发备忘录

    设计和实现一个类似个人备忘录的 Android APP ,数据库采用 SQLite (也可以直接访问 Web 端 MySQL 数据库、或提供 Web 接口访问 MySQL 数据库)。 1.用户注册和登录(这类 APP 一般面对个人,用户不需要分类别); ...

    微信小程序-------备忘录

    微信小程序备忘录,备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录...

    java实现备忘时钟

    在本文中,我们将深入探讨如何使用Java编程语言来实现一个备忘时钟应用程序。这个项目非常适合初学者,因为它涵盖了基础的Java编程概念,如时间处理、事件监听和用户界面设计。我们将逐步解析实现这样一个功能所需的...

    简易安卓备忘录

    【简易安卓备忘录】是一个基于Java编程语言开发的Android应用程序,主要功能是提供一个便捷的备忘录服务。这个项目对于初学者来说是一个很好的学习资源,它可以帮助理解Android应用的基本架构、Java语言在移动平台上...

    日历备忘录Java源码

    在本项目中,"日历备忘录Java源码" 提供了一套完整的日历应用程序的源代码,主要由四个核心文件组成:NotePad.java、CalendarPad.java、Month.java 和 Year.java。这些文件分别代表了备忘录、日历、月份和年份的功能...

    Android程序研发源码Android 备忘录源码.zip

    在Android程序开发中,备忘录应用是一种常见的项目,它涉及到许多核心的Android技术知识点。这份"Android程序研发源码Android 备忘录源码.zip"包含了一个完整的备忘录应用的源代码,可以帮助开发者深入理解Android...

    最好用的备忘录 桌面备忘录

    《桌面备忘录:高效管理日常事务的利器》 在我们的日常生活和工作中,常常需要记录各种琐碎但重要的事项,以便随时查阅和提醒。这时,一款好用的备忘录软件就显得尤为重要。"最好用的备忘录 桌面备忘录"就是这样一...

    Android课程设计--便捷备忘录

    **Android课程设计--便捷备忘录** 在移动应用开发领域,Android系统因其开源特性与广泛的应用,成为开发者的重要平台。本项目"Android课程设计--便捷备忘录"旨在教授学生如何利用Android Studio进行应用程序开发,...

    html制作的备忘录html制作的备忘录

    5. **交互元素**:备忘录通常需要用户输入,所以会使用`&lt;form&gt;`元素来创建表单,`&lt;input&gt;`定义输入字段,`&lt;textarea&gt;`用于多行文本输入,`&lt;button&gt;`创建按钮。通过`&lt;label&gt;`元素关联输入字段和文本,提升可读性和...

    微信小程序-备忘录-记录代办事项(源码+截图)

    微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成 微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成 微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成...

    Java日历及备忘录

    Java日历及备忘录程序是一个实用的桌面应用程序,它模仿了Windows操作系统中的日历功能,并添加了备忘录管理特性。这个程序的核心是利用Java编程语言实现的,旨在帮助用户方便地查看日期并设置提醒,提高个人或工作...

    手机备忘录程序

    【手机备忘录程序】是一种常见且实用的智能手机应用程序,主要功能是帮助用户记录日常生活、工作中的重要事项或想法,确保不会遗忘待办任务。它通常具有简洁的用户界面和高效的提醒机制,使得用户可以方便地创建、...

    备忘录实例添加备忘信息和查看备忘信息

    在移动设备上,备忘录应用是不可或缺的功能之一,它帮助我们记录日常生活中的点滴和重要事务。本备忘录实例是专为J2ME(Java 2 Micro Edition)平台设计的小程序,允许用户添加和查看备忘信息。下面将详细阐述这个...

Global site tag (gtag.js) - Google Analytics