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

Strutsリファレンス
 
Web struts.wasureppoi.com
Baenのプロパティを取得する(BeanUtils#getProperty)
スポンサード リンク

BeanUtilsを使用して、 Beanのプロパティの取得するには、getPropertyメソッド、配列のプロパティの場合は、getArrayPropertyメソッド、ネストしたプロパティの取得には、getNestedPropertyメソッドを使用します。

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

BeanUtils実装例

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 {

    // BeanUtilFormから、プロパティ"stringData"の値を取得する
    String str = BeanUtils.getProperty(form, "stringData");

    // BeanUtilFormから、プロパティ"arrayData"の値を取得する
    String[] array = BeanUtils.getArrayProperty(form, "arrayData");

    // BeanUtilFormから、ネストしたプロパティ"copyData.tel"の値を取得する
     String nst = BeanUtils.getNestedProperty(form, "copyData.tel");

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

java.lang.Object型のオブジェクトで取得したい場合は、PropertyUtilsクラスを使用します。
beanUtilsクラスを使用すると、String型にキャストして取得します。


アクションフォーム定義


<form-bean name="BeanUtilForm" type="org.apache.struts.validator.DynaValidatorForm" >
   <form-property name="stringData" type="java.lang.String" />
   <form-property  name="arrayData" type="java.lang.String[]" />
   <form-property name="copyData" type="sample.pg.CopyData1" />
</form-bean>



アクションフォーム内のBean 「sample.pg.CopyData1」

package sample.pg;

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

  public String getTel() {
    return tel;
  }
  public void setTel(String tel) {
    this.tel = tel;
  }
}




スポンサード リンク


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

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