熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java Bean屬性值動態設置

2022-06-13   來源: Java核心技術 

  概念

  使用屬性表達式設置Java Bean的屬性值

  屬性表達式格式與Java編程的表達式類似使用[n]表示數組引用表示對象引用

  例如

  name表示Java Bean的name屬性

  parentname表示Java Bean的parent屬性的name屬性

  parentparentname表示Java Bean的parent屬性的parent屬性的name屬性

  children[]name表示Java Bean的children屬性的第個元素的name屬性

  使用屬性表達式定位到指定屬性後根據屬性的類型將輸入值轉換成該屬性值完成賦值

  使用

  orgzjulhselProperty的靜態方法setProperty實現對屬性的賦值

  public static void setProperty(Object bean String name String[] values);

  參數:

  bean

  Java Bean對象

  name

  Java Bean的屬性表達式

  values

  name指定的屬性的值型如T[]的數組values跟T[]一一對應其他屬性類型使用values[]如果屬性為null會自動初始化為相應類型的對象

  例子

  參考orgzjulhselPerson的main方法可以直接運行

  擴展

  實現orgzjulhselIConvert接口可以擴展自定義對象的轉換方法參考orgzjulhselProperty的靜態屬性CONVERTS

  應用

  可以用於JEE的表單數據到Java Bean屬性值的自動映射比如表單訂單的產品列表到Java Bean的ArrayList<Product> products自動映射省去傳統的requestgetParameter方法和數據類型轉換的麻煩可以通過下面代碼實現絕大部分表單值的自動映射

  Object bean = formBean; // 保存表單數據的對象

  Enumeration<String> iter = (Enumeration<String>)requestgetParameterNames();

  while(iterhasMoreElements())

  {

  String key = iternextElement();

  String[] values = reqgetParameterValues(key);

  PropertysetProperty(bean key values);

  }


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27120.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.