Ognl表达式(-), 前期准备

  • ㈠下载Ognl的jar包,源码及它所依赖的jar包:

http://grepcode.com/snapshot/repo1.maven.org/maven2/ognl/ognl/2.7.3/

在这个页面中可以找到它所依赖的jar包:

  • Maven-Central / jboss / javassist
    3.7.ga
  • Maven-Central / junit / junit
    3.8.1
  • Maven-Central / org.easymock / easymock
    2.3
  • JDK / jdk / openjdk
    6-b14

下载即可.

 

  • ㈡建立一个java project,并加入相关的jar包(略)过
  • ㈢创建一个简单的helloworld程序,了解其基本过程:

 

  
  
  
  
  1. /** 
  2.  * Copyright (C) Skywares Information Technology, LTD.  
  3.  * All Rights Reserved. 
  4.  * 
  5.  * TestOgnl.java created on 2013-1-14 下午4:39:03 by hubert.guo  
  6.  */ 
  7. package com.skywares.ognl; 
  8.  
  9. import ognl.Ognl; 
  10. import ognl.OgnlException; 
  11.  
  12. /** 
  13.  * <pre> 
  14.  * Description 
  15.  * @TODO file description here 
  16.  *  
  17.  * @author hubert.guo 
  18.  * @since 1.0 
  19.  *  
  20.  * Change History 
  21.  * Date            Modifier        DESC. 
  22.  * 2013-1-14      hubert.guo         Initial version. 
  23.  * </pre> 
  24.  */ 
  25. public class TestOgnl 
  26.  
  27.     /** 
  28.      * @param args 
  29.      */ 
  30.     public static void main(String[] args) 
  31.     { 
  32.         try 
  33.         { 
  34.             Object result = Ognl.getValue("userName", new User("zhangSan",12)); 
  35.              
  36.             System.out.println(result.toString()); 
  37.         } 
  38.         catch (OgnlException e) 
  39.         { 
  40.             // TODO Auto-generated catch block 
  41.             e.printStackTrace(); 
  42.         } 
  43.  
  44.     } 
  45.  
  46.  
  47. class User 
  48.     private String userName; 
  49.  
  50.     private Integer age; 
  51.      
  52.     /** 
  53.      *  
  54.      */ 
  55.     public User(String userName, Integer age) 
  56.     { 
  57.         // TODO Auto-generated constructor stub 
  58.         this.userName = userName; 
  59.         this.age = age; 
  60.     } 
  61.  
  62.     /** 
  63.      * @return the userName 
  64.      */ 
  65.     public String getUserName() 
  66.     { 
  67.         return userName; 
  68.     } 
  69.  
  70.     /** 
  71.      * @param userName 
  72.      *            the userName to set 
  73.      */ 
  74.     public void setUserName(String userName) 
  75.     { 
  76.         this.userName = userName; 
  77.     } 
  78.  
  79.     /** 
  80.      * @return the age 
  81.      */ 
  82.     public Integer getAge() 
  83.     { 
  84.         return age; 
  85.     } 
  86.  
  87.     /** 
  88.      * @param age 
  89.      *            the age to set 
  90.      */ 
  91.     public void setAge(Integer age) 
  92.     { 
  93.         this.age = age; 
  94.     } 
  95.  

 

并在35行设定断点,关联源代码,以调试方式开始了解OGNL表达式的实现方式和原理.

你可能感兴趣的:(OGNL表达式源码)