一直在做arcgis for flex的開發,在basewidget中總是根據xml的屬性填充物件的屬性值,或根據物件的屬性值填充新的物件,總是寫這些產生特別多的相似**塊。
設計了乙個util類,實現功能包括:
1.根據xml屬性填充物件的屬性;
2.根據已與物件的屬性填充新物件的屬性。
**如下:
package com.common
/*** 拷貝source中的屬性到target,其中source可以是xml或object物件
*/public static function copyproperties(source:object ,target:object ,ignorefields:array=null):void
if(source is xml)else
} /**
* 使用paramxml中屬性到classobject物件中
*/
public static function copyxmlproperties(paramxml:xml,targetobject:object,ignorefields:array=null):void
for each (var key:xml in paramxml.attributes())
var propertyname:string = string(key.name()) ;
var value:string = string(paramxml.@[propertyname]) ;
//分別對基本型別進行處理
switch((typeof targetobject[propertyname]))else
break;
} case "number":
default:
} }
} /**
* 獲取某個物件的屬性名稱
*/
public static function getobjectproperties(object:object):array
var propertyarray:array = objectutil.getclassinfo(object).properties as array;
if(propertyarray==null)
var targetfieldnames:array = ;
for each (var property:object in propertyarray)
return targetfieldnames ;
} /**
* 將源物件的所有屬性複製到目標物件中的同名屬性中,必須保證同名屬性的型別相同
*/
public static function copyobjectproperties(sourceobject:object,targetobject:object,ignorefields:array=null):void
var properties:array = getobjectproperties(sourceobject);
if(properties==null)
var tempname:string = null ;
while(properties.length>0)
targetobject[tempname] = sourceobject[tempname] ;
} }
}}
Flex表單自動填充與表單資料自動收集
如題,以下 展示如何講介面的表單域的值自動歸集到指定物件,以及如何用指定物件自動填充表單域,思路很簡單,但用起來挺方便的,結構不算好,但挺穩定的,所以也懶得去重構了。簡單的說下原理 1 收集表單資料,通過指定容器物件,對容器進行遞迴遍歷,當發現是表單域時,判斷物件是否有表單網域名稱稱相同的屬性,如果...
js自動填充
工具類 var hsutil var elements jquery expr find hs model 這裡會找到帶有hs model標籤的元素 elements.each function else 這裡是關鍵,元素的hs model中必須儲存鍵名。行業 從業人員 註冊資金 狀態 hsutil...
Mybatis Plus自動填充
使用場景 專案中經常會遇到一些資料,每次都使用相同的方式填充,例如記錄的建立時間,更新時間等,完成這些欄位的賦值工作 1 資料庫表中新增自動填充字段 在表中新增datetime型別的新的字段 create time update time 2 實體上新增屬性和註解 data public class...