Strutsリファレンス(逆引き)

Strutsリファレンス
 
Web struts.wasureppoi.com
Beanのプロパティをコピーする(PropertyUtils#copyProperty)
スポンサード リンク

PropertyUtilsを使用して、 BeanのプロパティをコピーするにはcopyPropertyメソッドを使用します。

メソッドの詳細は、PropertyUtilsのjavadocを参照して下さい。

PropertyUtils実装例

package sample.pg;

import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.commons.beanutils.*;

public class BeanUtilAction extends Action {

  public ActionForward execute(ActionMapping mapping,
                      ActionForm form,
                      HttpServletRequest request,
                      HttpServletResponse response) throws Exception {

    CopyData1 fromData = new CopyData1();
    fromData.setId("id01");
    fromData.setName("name01");
    fromData.setTel("03-3333-3333");

    CopyData2 toData = new CopyData2();

    // CopyData1のオブジェクト「fromData」から、CopyData2のオブジェクト「toData」にコピーする
    PropertyUtils.copyProperties(toData, fromData);

     return mapping.findForward("success");
  }
}

コピー元オブジェクトのプロパティと、同名のプロパティにコピーします。
上記例では、プロパティ「id」と「name」をコピーします。
また、コピー先のプロパティと型が異なる場合は、キャストする必要があるので、PropertyUtilsの代わりに、BeanUtils#copyPropertyメソッドを使用します。


Bean 「sample.pg.CopyData1」

package sample.pg;

public class CopyData1 {
  private String id;
  private String name;
  private String tel = "111";

  public String getId() {
    return id;
  }
  public void setId(String id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getTel() {
    return tel;
  }
  public void setTel(String tel) {
    this.tel = tel;
  }
}


Bean 「sample.pg.CopyData2」

package sample.pg;

public class CopyData2 {
  private String id;
  private String name;
  private String addr;

  public String getId() {
    return id;
  }
  public void setId(String id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getAddr() {
    return addr;
  }
  public void setAddr(String addr) {
    this.addr = addr;
  }
}




スポンサード リンク


Baenのプロパティを取得する(BeanUtils#getProperty)
Baenのプロパティを設定する(BeanUtils#setProperty)
Beanのプロパティをコピーする(PropertyUtils#copyProperty)

Commonsへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ