public class Employee implements DynaBean  {

private String  firstName="李";
    private String lastName;
    public Employee() {
    } ;  
    
     public String getFirstName() {
        return firstName;
    }
     public void setFirstName(String firstName) {
         this.firstName=firstName;
     }
     public String getLastName() {
        return lastName;
    }
     public void setLastName(String lastName){
         this.lastName=lastName;
     }
     private Date hireDate;
     public Date getHireDate(){
         return hireDate;
     }
     public void setHireDate(Date hireDate){
         this.hireDate=hireDate;
     }
     private boolean manager;
     public boolean isManager(){
         return manager;
     }
     public void setManager(boolean manager){
         this.manager=manager;
     }
     public String getFullName(){
         return lastName+firstName;
     }
     
     public Employee getEmployee(int index) {
        return new Employee();
    }
     //private Address address;
     public Address getAddress(String home) {
        return new Address();
    }

}

public class EmployeeTest {

//    public static void main(String[] args) throws Exception{
//        Employee employee=new Employee();
//        PropertyUtils.setSimpleProperty(employee, "firstName", "李");
//        PropertyUtils.setSimpleProperty(employee, "lastName", "旭丹");
//        System.out.println(PropertyUtils.getSimpleProperty(employee, "firstName")+"-"+PropertyUtils.getSimpleProperty(employee, "lastName"));
//    }
    
//    public static void main(String[] args) throws Exception {
//        Employee employee=new Employee();
//        int index=3;
//        String emp="employee["+index+"]";
//        //PropertyUtils.setIndexedProperty(employee, num, new Object[]{1,2,3});
//        Employee e=(Employee) PropertyUtils.getIndexedProperty(employee, emp);
//        System.out.println(e);
//    }
    
//    public static void main(String[] args) throws Exception {
//        Employee employee=new Employee();
//        int index=3;
//        String emp="employee";
//        Employee e=(Employee) PropertyUtils.getIndexedProperty(employee, emp,index);
//        System.out.println(e);
//    }
    
//    public static void main(String[] args) throws Exception {
//        Employee employee=new Employee();
//        Address address=new Address();
//        PropertyUtils.setMappedProperty(employee, "address", "address", address);
//        //System.out.println(PropertyUtils.getMappedProperty(employee, "address()"));
//    }
    
//    public static void main(String[] args) throws Exception {
//        Employee emp=new Employee();
//        String city=(String) PropertyUtils.getNestedProperty(emp, "address(home).city");
//        System.out.println(city);
//    }
    
//    public static void main(String[] args) throws Exception {
//        Employee emp=new Employee();
//        String city=(String) PropertyUtils.getProperty(emp, "employee[3].address(home).city");
//        System.out.println(city);
//    }
    
//    public static void main(String[] args) {
//        DynaBean emp=new Employee();
//        System.out.println(emp.get("firstName"));
//        System.out.println(emp.get("address", "home"));
//        System.out.println(emp.get("emp", 3));
//    }
    
    public static void main(String[] args) throws Exception {
        DynaProperty[] pros=new DynaProperty[]{
                new DynaProperty("address",com.dan.entity.Address.class),
                new DynaProperty("employee",com.dan.entity.Employee[].class),
                new DynaProperty("firstName",String.class)
        };
        BasicDynaClass dynaBean=new BasicDynaClass("employee",null,pros);
        DynaBean dyna= dynaBean.newInstance();
        dyna.set("firstName", "李");
        System.out.println(dyna.get("firstName"));
    }

}

beanutils设置参数和获取参数的更多相关文章

  1. Vue router中携带参数与获取参数

    Vue router中携带参数与获取参数 携带参数 query方式,就是?+&结构,例如/login?id=1 <router-link :to="{ name:'login' ...

  2. Spring MVC url提交参数和获取参数

    [转载:http://blog.csdn.net/mahoking] 普通URL提交参数         该格式url为:url.do?param1=mahc&param2=8888.00 需 ...

  3. angular4.0路由传递参数、获取参数最nice的写法

    研究ng4的官网,终于找到了我想要的方法.我想要的结果是用'&'拼接参数传送,这样阅读上是最好的.否则很多'/'的拼接,容易混淆参数和组件名称.一般我们页面跳转传递参数都是这样的格式:http ...

  4. 页面间传递前端请求参数和获取参数:Model model,HttpServletRequest request, ModelMap map参数使用与区别

    Model model, HttpServletRequest request, ModelMap map声明变量 一.下面的方法是需要将请求发过来的数据(或者说参数)传递到重定向的页面/转发的页面的 ...

  5. SpringMVC传递参数和获取参数以及返回数据

    1.传递form表单,参数接收到对象,name和对象属性对应上即可:   2.springmvc不能直接通过form表单传递多个对象的list集合,要么采用ajax传递,要么采用封装了list属性的b ...

  6. setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位

    setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位

  7. WebApi Post 后台无法获取参数的解决方案

    事件回放: 之前一段时间,公司里前端用的Angularjs 发送http请求也是用的ng的组件,后台是.Net的WebApi 前端 var data = { PArgs: { PageIndex: 0 ...

  8. qmake的使用(可设置c编译器flag参数)

    本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso***还是先说一下当前的系统环境:Ubuntu 14.04 + Qt5.4如果没有安装过QT,可以安装下面几个qt软件 ...

  9. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

随机推荐

  1. log4j+logback+slf4j+commons-logging的关系与调试(转)

    背景     由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同.存在着在一个项目中,不同的版本,不同的框架共存.导致日志输出异常混乱.虽然也不至于对系统造成致命伤害,但是明显可以看出,架构 ...

  2. Python基本语法[二],python入门到精通[四] (转)

    写在前面 python你不去认识它,可能没什么,一旦你认识了它,你就会爱上它 回到顶部 v正文开始:Python基本语法 1.定义常量: 之所以上篇博客介绍了定义变量没有一起介绍定义常量,是因为Pyt ...

  3. 设计模式Template Method模式(Template Method)摘录

    23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例.怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化托付给还 ...

  4. 标签(Tag)的各种设计方案

    标签(Tag)的各种设计方案 首先,标签(Tag)是什么? 我的理解:用来具体区分某一类内容的标识,和标签类似的一个概念是分类(Category),有一个示例可以很好的区分它们两个,比如人类分为:白种 ...

  5. JQuery之初探

    软考过后又进入了紧张的B/S学习阶段,因为自己的进度比較慢,所以更要加进学习.如今就来总结下JQuery的一些基础知识: JQuery定义 jQuery是一套跨浏览器的JavaScript库,简化HT ...

  6. nodejs安装:nodejs入门

    nodejs开篇 前几天看到好多关于node 的帖子没有单独说明node安装的文章~ 特发此篇 总结一下平时在windows上nodejs的安装... 1.js来搞前后端分离是nodejs的一大特点, ...

  7. git branch(转)

    git branch    git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面加“*”号标记,例如:   #git branch* master   newbranch gi ...

  8. JS中call、apply的用法说明

    JS Call()与Apply()的区别 ECMAScript规范给所有函数都定义了Call()与apply()两个方法,call与apply的第一个参数都是需要调用的函数对象,在函数体内这个参数就是 ...

  9. Java Web整合开发(12) -- JDBC

    JDBC访问数据库的一般步骤: 注册驱动,获取连接,获取Statement,执行SQL并返回结果集,遍历结果集显示数据,释放连接. Connection conn = null; Statement ...

  10. jquery跨域请求解决方案(我们寻找,我还没有添加验证)

    http://www.3lian.com/edu/2014/02-10/127921.html 本篇文章仅仅要是对jquery ajax跨域解决方法(json方式)进行了介绍,须要的朋友能够过来參考下 ...