アクション

アクションはActionを継承して作成します。

アクションメソッド

リクエストされた URL に応じて、アクションメソッドが呼び出され処理を実行します。
Action クラスの中で public で戻り値が ActionResult のメソッドが、アクションメソッドとして認識されます。

ActionResult の種類

以下のクラスはActionResultを実装するクラスで、アクションメソッドの戻り値として使用できます。

クラス名説明
Forward指定されたパスにフォワードします。
Redirect指定されたパスにリダイレクトします。
Direct何も処理を行いません。アクションメソッド中でレスポンスに直接書き込みます。ファイルや画像をブラウザに返す時に使用します。
Json指定されたオブジェクトを Json 形式に変換してレスポンスを返します。

アノテーション

アノテーション名説明
@UrlアクションメソッドのURLを指定します。
@Formリクエストパラメータのオブジェクトへのバインディングを指定します。
@Validation入力検証を指定します。

事前処理・事後処理

Actionクラスにある以下のメソッドをオーバーライドすることで、Action実行時の前後にフック処理を記述することができます。
またActionメソッド実行の前後に処理を組み込みたい場合は、SeasarのAOPを使用して処理をフックします。

メソッド名説明
Action#initializeActionの実行前に呼ばれます。パラメータのバインディング前に呼ばれるので、パラメータを使用したい場合はリクエストから直接取得する必要があります。
Action#prerenderフォーワードの直前で呼ばれます。対象のActionクラスのフォワード先で必ず使用する共通のデータなどを取得する目的で使用します。
Action#postrenderフォワードの直後で呼ばれます。通常はあまり使用することはないでしょう。