The Jakarta Project < Velocity Tools - Struts >

Velocity Tools

VelocityStruts

VelocityStruts Tools

その他のサブプロジェクト

FormTool リファレンスドキュメント
       

Struts は HTTP リクエストの解析と、 サブミットされたリクエストパラメータのJava ビーンへの設定を行います。 このJava ビーンは、初期値を含むフォームの値の設定にも利用されます。 また、自動的なフォームの検証コードをフックさせることもできます。

FormTool はフォームや、 Struts アプリケーションのコンテキスト内のフォームビーンを扱うさまざまなメソッドを提供します。

Class
 org.apache.velocity.tools.struts.FormTool
Name
 $form (Velocityコンテキスト内での推奨名)
Toolbox設定例
 
<tool>
  <key>form</key>
  <scope>request</scope>
  <class>org.apache.velocity.tools.struts.FormTool</class>
</tool>
作者
 Gabriel Sidler
Method Overview
getBean() リクエストに関連するフォームビーンを取得し、返却します。
getCancelName() キャンセルボタンが押下された場合の、 フォームの自動バリデーションのスキップを通知するクエリパラメータの名称を返却します。
getToken() 現在のセッションのトランザクション制御トークンを取得し、返却します。
getTokenName() トランザクショントークンを通知するクエリパラメータの名称を返却します。
getBean()
       

リクエストに関連するフォームビーンを取得し、返却します。

ActionForm getBean()

Returns
request/sessionに関連する ActionForm 、 関連するフォームビーンがマッピングに無い場合は null

これは簡易メソッドです。 フォームビーンは、Velocity コンテキストから Struts の設定で定義した名称で自動的に利用できます。

フォームビーンを繰り返し使用する場合、 毎回 getBean() を呼び出すより、ローカル変数を作成して参照すると良いでしょう。

## インプットフィールドにデフォルト値を設定し、値を取得します
<input type="text" name="username" value="$form.getBean().username">

## こう書いても上と同じです
<input type="text" name="username" value="$form.bean.username">

## 繰り返し参照する場合はローカル変数として定義します
#set ($defaults = $form.bean) 
<input type="text" name="username" value="$defaults.username">

## struts-config.xml で定義されたフォームの名前を使用してフォームへアクセスします
## Velocity は loginForm を request や session の属性(attribute)から検索します
<input type="text" name="username" value="$loginForm.username">

getCancelName()
       

キャンセルボタンが押下された場合の、 フォームの自動バリデーションのスキップを通知するクエリパラメータの名称を返却します。

int getCancelName()

Returns
org.apache.struts.taglib.html.Constants.CANCEL_PROPERTY の値。

リクエストパラメータのキーにこのメソッドの返却値と同じ値が含まれていた場合、フォームの自動バリデーションがスキップされます。 一般的なアプリケーションでは、フォームのキャンセルボタンの name 属性でこの「おまじない」を使います。 このボタンが押下された場合、フォームの自動バリデーションがスキップされます。 もしフォームの自動バリデーションを行っていない場合、この「おまじない」は何の意味もありません。

## キャンセルボタン
<input type="submit" name="$form.getCancelName()" value="Cancel">

## これはこのようにも書けます
<input type="submit" name="$form.cancelName" value="Cancel">

これは以下の出力を生成します:

<input type="submit" name="org.apache.struts.taglib.html.CANCEL"
value="Cancel">

getToken()
       

現在のセッションのトランザクション制御トークンを取得し、返却します。

String getToken()

Returns
トークン String 、またはトークンが存在しない場合 null
See Also
getTokenName() メソッドに例があります。

getTokenName()
       

トランザクショントークンを通知するクエリパラメータの名称を返却します。

int getTokenName()

Returns
org.apache.struts.taglib.html.Constants.TOKEN_KEY の値。
See Also
トランザクショントークンの仕組みの詳細については org.apache.struts.action.Action クラスの JavaDoc を参照してください (この Struts の機能のドキュメントとして、これより良いものを私は知りません)。
## トランザクショントークンの hidden フィールド
<input type="hidden" name="$form.getTokenName()"
value="$form.getToken()">

## これはこのようにも書けます
<input type="hidden" name="$form.tokenName()"
value="$form.token()">

このような出力が生成されます:

<input type="hidden" name="org.apache.struts.taglib.html.TOKEN" 
value="84c29b4dea56ecf69524ef6b965c5e80">


[訳注: この文書は 木村 貴由 高橋 達男 が翻訳しました。 日本語訳に対するコメントがあれば、report@jajakarta.orgに送って下さい。]
Copyright © 1999-2003, Apache Software Foundation