DynaActionForm (Struts)

DynaActionForm

  • ActionFormはリクエストパラメータの値をJavaBeanにセットしてくれるが、プロパティやgetter/setterメソッドのコーディングをする必要があった。
  • Strutsには、そのコーディング不要のActionFormとしてDynaActionFormという仕組みがある。

 

DyanActionFormの使用方法

  • Struts設定ファイルに(struts-config.xml)記述する
  • 記述例
<form-bean name=”論理名”
type=”org.apache.struts.action.DynaActionForm” >
<form-property name=”id” type=”java.lang.Integer” initial=”0″/>
<form-property name=”name” type=”java.lang.String” />
</form-bean>

 

  •  type属性に「org.apache.struts.action.DynaActionForm」を指定
  • form-property要素のname属性にActionFormのプロパティ名を指定
  • form-property要素のtype属性にはプロパティの型を指定
  • 必要に応じてinitial属性を定義することでプロパティの初期値を指定できる

 

DyanActionFormで使用できる型

使用可能なプロパティ 解釈出来ない出来ない場合に値を設定しようとした場合
java.math.BigDecimal (例外発生)
java.math.BigInteger (例外発生)
boolean と   java.lang.Boolean FALSE
byte と   java.lang.Byte 0
char と   java.lang.Character (1文字目のみ設定)
java.lang.Class (例外発生)
double と   java.lang.Double 0
float と java.lang.Float 0
int と java.lang.Integer 0
long と java.lang.Long 0
short と java.lang.Short 0
java.lang.String (すべての値が解釈される)
java.sql.Date (例外発生)
java.sql.Time (例外発生)
java.sql.Timestamp (例外発生)

 

  • 省略した場合は、プロパティが基本データ型の場合は例外が発生し、オブジェクトの場合は、String型を除いてnullが設定
  • String型は空行が設定される.
  •  例外が発生して該当機能が使えない場合があるので、特別な理由がない限り、initial属性は、設定する方が安全である。
  • 上記の表以外にも配列やその他の型を使用することもできる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です