<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Jakarta Commons BeanUtils 學習

    Posted on 2007-08-10 10:36 G_G 閱讀(1264) 評論(0)  編輯  收藏 所屬分類: Jakarta Commons
    參考:http://www.duduwolf.com/wiki/2007/296.html
    ????? http://www.chinaitpower.com/A/2005-07-03/150232.html

    1)普通的Bean處理? 不管是什么Set參數為3個 ( 對象本身, 屬性名或屬性內位置, 值 ) //list的add有點特別
    ??? ??? ??? ??? ? ??? ??? ? Get
    參數為2個( 對象本身, 屬性名或屬性內位置 )
    ??
    ????????Employee?em?=?new?Employee();? //String name; String[] ss;? Map map; List list;
    ????????BeanUtils.setProperty(em,
    "name","liukaiyi");? //String set
    ????????BeanUtils.setProperty(em,
    "ss",new?String[]{"1","2","3"}); //String[] set
    ??????? ?? BeanUtils.setProperty(em,"ss[2]","google");? //String[2] set

    ????????BeanUtils.setProperty(em,
    "map",new?HashMap());?? //Map set?
    ????????????BeanUtils.setProperty(em,"map(key)","value");? //Map.put(Key,Value)
    ????????????
    ????????BeanUtils.setProperty(em,
    "list",new?ArrayList(?Arrays.asList(?new?Object[20]?)?)); //List有點特別
    ????????????BeanUtils.setProperty(em,"list[0]","list");?????? //不可以直接添加???
    ????????????
    ????????BeanUtils.setProperty(em,
    "avg","23");?????? //int set
    ????????????????
    ????????
    ????????System.out.println(?BeanUtils.getSimpleProperty(em,
    "name")?);???
    ????????System.out.println(?BeanUtils.getProperty(em,"ss[2]")?);
    ????????System.out.println(?BeanUtils.getProperty(em,"map(key)")?);
    ????????
    ????????System.out.println(?BeanUtils.getProperty(em,
    "list[0].class")?);? // 取的是 ==list.get(0).getClass()
    ????????
    ????????System.out.println(?BeanUtils.getProperty(em,
    "avg")?);?

    2)動態屬性
    ?//定義動態屬性集
    ?DynaProperty[]?props?=?new?DynaProperty[]{
    ????
    new?DynaProperty("address",?java.util.Map.class),
    ????
    new?DynaProperty("subordinate",?mypackage.Employee[].class),
    ????
    new?DynaProperty("firstName",?String.class),
    ????
    new?DynaProperty("lastName",??String.class)
    ??????};
    ?
    //創建動態類來設定動態屬性值
    ????BasicDynaClass?dynaClass?=?new?BasicDynaClass("employee",?null,?props);
    ??? DynaBean?employee?
    =?dynaClass.newInstance();
    ????employee.set(
    "address",?new?HashMap());
    ????employee.set(
    "subordinate",?new?mypackage.Employee[0]);
    ????employee.set(
    "firstName",?"Fred");
    ????employee.set(
    "lastName",?"Flintstone");

    //也可以同上一樣 提供統一 的Get Set 還是 字符操作 ^o^? 哈哈
    ??? ???? BeanUtils.setProperty(bean,"address",new HashMap());
    ??? ??? ???? BeanUtils.setProperty(bean,"address(ads1)","江西");
    ??? ??? ?BeanUtils.setProperty(bean,"name","liu");
    ??? ??? ?BeanUtils.setProperty(bean,"subordinate",new String[3]);
    ??? ??? ???? BeanUtils.setProperty(bean,"subordinate[1]","heha");
    ??? ??? ?System.out.println(? BeanUtils.getProperty(bean,"address(ads1)") );
    ??? ??? ?System.out.println(? BeanUtils.getProperty(bean,"name") );
    ??? ??? ?System.out.println(? BeanUtils.getProperty(bean,"subordinate[1]") );

    3)JDBC 擴展
    ?Connection?conn?=?;
    ????Statement?stmt?
    =?conn.createStatement();
    ????ResultSet?rs?
    =?stmt.executeQuery
    ????(
    "select?accountid,?name?from?customers");
    ????Iterator?rows?
    =?(new?ResultSetDynaClass(rs)).iterator();? //ResultSetDynaClass(java.sql.ResultSet resultSet)
    ????while?(rows.hasNext())?{
    ?
    //利用動態bean進行輸出
    ????DynaBean?row?=?(DynaBean)?rows.next();?? //連實體Bean都可以不要了?
    ??? ??? BeanUtils.copyProperties( MyBean ,row );? //? bean<--dynaBean 就這樣去得到值
    ^o^?
    ??? ?? ?? MyBean.get
    Accountid();? ....???????????
    ????}
    ????rs.close();
    ????stmt.close();

    4)HttpServletRequest 擴展
    ????HttpServletRequest?request?=?;
    ????MyBean?bean?
    =?;
    ????HashMap?map?
    =?new?HashMap();
    ????Enumeration?names?
    =?request.getParameterNames();
    ????
    while?(names.hasMoreElements())?{
    ??????String?name?
    =?(String)?names.nextElement();
    ??????map.put(name,?request.getParameterValues(name));
    ????}
    ????BeanUtils.populate(bean,?map);
    //bean<--map? struts好象是就用這個 Form


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成无码www久久久| 日韩一品在线播放视频一品免费| 亚洲国产精品国产自在在线| 亚洲人成网站色7799| 免费毛片a在线观看67194| 亚洲日本国产乱码va在线观看| 16女性下面扒开无遮挡免费| 亚洲日韩中文字幕天堂不卡| 在线视频精品免费| 亚洲中文字幕无码中文| 热99re久久免费视精品频软件| 亚洲国产成人久久精品大牛影视 | 国产一卡2卡3卡4卡2021免费观看| 亚洲人成在线观看| 亚欧在线精品免费观看一区| 亚洲国产高清视频在线观看| 性做久久久久久久免费看| 中文字幕乱码亚洲精品一区| 亚洲&#228;v永久无码精品天堂久久 | www成人免费观看网站| 中文字幕人成人乱码亚洲电影| 免费无码黄网站在线看| 日木av无码专区亚洲av毛片| 在线天堂免费观看.WWW| 亚洲大码熟女在线观看| 天堂亚洲免费视频| 久久国产免费一区| 亚洲熟妇无码一区二区三区导航| 国产免费人人看大香伊| a视频免费在线观看| 亚洲精品欧洲精品| 国产精品另类激情久久久免费| 一级毛片不卡免费看老司机| 久久亚洲精品无码| 成人在线免费观看| 国产午夜无码片免费| 亚洲国产理论片在线播放| 国产公开免费人成视频| 久久国产精品2020免费m3u8| 亚洲s码欧洲m码吹潮| 亚洲av无码av制服另类专区|