Strutsノート(二)ActionForm転送データ

1913 ワード

2.ActionForm転送データ
ActionFormを作成するのは難しくありませんが、クラスはいくつかの要件を満たす必要があります.
ActionFormはorgから拡張する必要がある.apache.struts.action.ActionForm.ベースクラスActionFormはインスタンス化できません.
ActionFormは、リクエストから収集すべきHTML入力コントロールごとに共通のプロパティを定義する必要があります.
ActionFormにプロパティをActionに渡す前に検証するように要求する場合は、validateメソッドを実装する必要があります.
アセンブリ前にプロパティを初期化するには、ActionFormアセンブリ前に呼び出されるresetを実装する必要があります.
簡単なActionFormクラスを次に示します.

public class MyForm extends ActionForm {
protected String name;
protected String address;
public String getName()
{return this.name;};
public String getAddress()
{return this.address;};
public void setName(String name)
{this.name = name;};
public void setAddress(String address)
{this.address = address;};

DynaActionFormを使用してstruts-configに直接xml構成.

<form-bean
name="myForm"
type="org.apache.struts.action.DynaActionForm">
<form-property
name="name"
type="java.lang.String"/>
<form-property
name="address"
type="java.lang.String"/>
</form-bean>
  • ActionFormはフィールドコレクタ
  • として機能する.
  • ActionFormは、コミット前にチェック
  • を行うためのデータバッファとして機能する.
  • ActionFormはデータ検証器として機能します.ActionFormのvalidateメソッドは、
  • ビジネスメソッド(データの検証方法を知っている)の呼び出しを挿入する拡張ポイントです.検証に失敗した場合、ActionFormはコンテンツ全体を
    Webページに返信し、ユーザーが再試行できるようにします.
  • ActionFormはタイプ変換器として機能し、ActionFormにはタイプ変換のためのいくつかのhelperメソッドが含まれている.helperメソッドには多くの実装方法があります.
  • ActionFormは伝送対象(TO)として機能し、ActionFormは他のbeanまたはプロセスによってデータキャリアとして機能することができる.つまりActionFormはトランスポートオブジェクト(Transfer Object)である.HTTPは各属性を名前-値ペアとして表現する.
  • ActionFormはファイアウォールとして機能し、データがアプリケーションの他の部分に伝達されることを許可する前にデータをチェックする必要があります.
  • Strutsラベル拡張は、ActionFormに基づいてHTMLコントロールを組み立てるのに役立ちます.ActionServiceletは、HTTP要求に従ってActionFormを組み立てる.