public static void copyProperties(java.lang.Object dest,java.lang.Object orig)
throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
濡傛灉浣犳湁涓や釜鍏鋒湁寰堝鐩稿悓灞炴х殑JavaBean錛屼竴涓緢甯歌鐨勬儏鍐靛氨鏄疭truts閲岀殑PO瀵硅薄錛堟寔涔呭璞★級鍜屽搴旂殑ActionForm錛屼緥濡?Teacher鍜孴eacherForm銆傛垜浠竴鑸細(xì)鍦ˋction閲屼粠ActionForm鏋勯犱竴涓狿O瀵硅薄錛屼紶緇熺殑鏂瑰紡鏄嬌鐢ㄧ被浼間笅闈㈢殑璇彞瀵瑰睘鎬ч愪釜璧嬪鹼細(xì)
//寰楀埌TeacherForm
TeacherForm teacherForm=(TeacherForm)form;
//鏋勯燭eacher瀵硅薄 Teacher teacher=new Teacher(); //璧嬪? teacher.setName(teacherForm.getName()); teacher.setAge(teacherForm.getAge()); teacher.setGender(teacherForm.getGender());
teacher.setMajor(teacherForm.getMajor()); teacher.setDepartment(teacherForm.getDepartment()); //鎸佷箙鍖朤eacher瀵硅薄鍒版暟鎹簱 HibernateDAO.save(teacher);
鑰屼嬌鐢˙eanUtils鍚庯紝浠g爜灝卞ぇ澶ф敼瑙備簡錛屽涓嬫墍紺猴細(xì)
//寰楀埌TeacherForm TeacherForm teacherForm=(TeacherForm)form; //鏋勯燭eacher瀵硅薄 Teacher teacher=new Teacher(); //璧嬪? BeanUtils.copyProperties(teacher,teacherForm); //鎸佷箙鍖朤eacher瀵硅薄鍒版暟鎹簱 HibernateDAO.save(teacher);
濡傛灉Teacher鍜孴eacherForm闂村瓨鍦ㄥ悕縐頒笉鐩稿悓鐨勫睘鎬э紝鍒橞eanUtils涓嶅榪欎簺灞炴ц繘琛屽鐞嗭紝闇瑕佺▼搴忓憳鎵嬪姩澶勭悊銆備緥濡?Teacher鍖呭惈modifyDate錛堣灞炴ц褰曟渶鍚庝慨鏀規(guī)棩鏈燂紝涓嶉渶瑕佺敤鎴峰湪鐣岄潰涓緭鍏ワ級灞炴ц孴eacherForm鏃犳灞炴э紝閭d箞鍦ㄤ笂闈唬鐮佺殑 copyProperties()鍚庤繕瑕佸姞涓婁竴鍙ワ細(xì)
teacher.setModifyDate(new Date());
鎬庝箞鏍鳳紝寰堟柟渚垮惂錛侀櫎BeanUtils澶栬繕鏈変竴涓悕涓篜ropertyUtils鐨勫伐鍏風(fēng)被錛屽畠涔熸彁渚沜opyProperties()鏂規(guī)硶錛屼綔鐢ㄤ笌 BeanUtils鐨勫悓鍚嶆柟娉曞崄鍒嗙浉浼鹼紝涓昏鐨勫尯鍒湪浜庡悗鑰呮彁渚涚被鍨嬭漿鎹㈠姛鑳斤紝鍗沖彂鐜頒袱涓狫avaBean鐨勫悓鍚嶅睘鎬т負(fù)涓嶅悓綾誨瀷鏃訛紝鍦ㄦ敮鎸佺殑鏁版嵁綾誨瀷鑼冨洿鍐呰繘琛岃漿鎹紝鑰屽墠鑰呬笉鏀寔榪欎釜鍔熻兘錛屼絾鏄熷害浼?xì)鏇村揩涓浜涖侭eanUtils鏀寔鐨勮漿鎹㈢被鍨嬪涓嬶細(xì)
* java.lang.BigDecimal * java.lang.BigInteger * boolean and java.lang.Boolean * byte and java.lang.Byte * char and java.lang.Character * java.lang.Class * double and java.lang.Double * float and java.lang.Float * int and java.lang.Integer * long and java.lang.Long * short and java.lang.Short * java.lang.String * java.sql.Date * java.sql.Time * java.sql.Timestamp
榪欓噷瑕佹敞鎰忎竴鐐癸紝java.util.Date鏄笉琚敮鎸佺殑錛岃屽畠鐨勫瓙綾籮ava.sql.Date鏄鏀寔鐨勩傚洜姝ゅ鏋滃璞″寘鍚椂闂寸被鍨嬬殑灞炴э紝涓斿笇鏈涜杞崲鐨勬椂鍊欙紝涓瀹氳浣跨敤java.sql.Date綾誨瀷銆傚惁鍒欏湪杞崲鏃朵細(xì)鎻愮ずargument mistype寮傚父銆?br />
涓夈佷紭緙虹偣錛?br />
Apache Jakarta Commons欏圭洰闈炲父鏈夌敤銆傛垜鏇懼湪璁稿涓嶅悓鐨勯」鐩笂鎴栫洿鎺ユ垨闂存帴鍦頒嬌鐢ㄥ悇縐嶆祦琛岀殑commons緇勪歡銆傚叾涓殑涓涓己澶х殑緇勪歡灝辨槸BeanUtils銆傛垜 灝嗚鏄庡浣曚嬌鐢˙eanUtils灝唋ocal瀹炰綋bean杞崲涓哄搴旂殑value 瀵硅薄錛?br />
BeanUtils.copyProperties(aValue, aLocal)
涓婇潰鐨勪唬鐮佷粠aLocal瀵硅薄澶嶅埗灞炴у埌aValue瀵硅薄銆傚畠鐩稿綋綆鍗曪紒瀹冧笉綆ocal錛堟垨瀵瑰簲鐨剉alue錛夊璞℃湁澶氬皯涓睘鎬э紝鍙榪涜澶嶅埗銆傛垜浠亣璁?local瀵硅薄鏈?00涓睘鎬с備笂闈㈢殑浠g爜浣挎垜浠彲浠ユ棤闇閿叆鑷沖皯100琛岀殑鍐楅暱銆佸鏄撳嚭閿欏拰鍙嶅鐨刧et鍜宻et鏂規(guī)硶璋冪敤銆傝繖澶浜嗭紒澶己澶т簡錛佸お鏈夌敤 浜嗭紒
鐜板湪錛岃繕鏈変竴涓潖娑堟伅錛氫嬌鐢˙eanUtils鐨勬垚鏈儕浜哄湴鏄傝吹錛佹垜鍋氫簡涓涓畝鍗曠殑嫻嬭瘯錛孊eanUtils鎵鑺辮垂鐨勬椂闂磋瓚呰繃鍙栨暟 鎹佸皢鍏跺鍒跺埌瀵瑰簲鐨?value瀵硅薄錛堥氳繃鎵嬪姩璋冪敤get鍜宻et鏂規(guī)硶錛夛紝浠ュ強(qiáng)閫氳繃涓茶鍖栧皢鍏惰繑鍥炲埌榪滅▼鐨勫鎴鋒満鐨勬椂闂存誨拰銆傛墍浠ヨ灝忓績浣跨敤榪欑濞佸姏錛?