アクション

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

アクションメソッド

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

ActionResult の種類

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

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

アノテーション

アノテーション名 説明
@Path アクションメソッドのURLを指定します。
@Accept アクションメソッドのHTTPメソッドを指定します。省略された場合、GETとPOSTに対応するメソッドになります。
@Form リクエストパラメータのオブジェクトへのバインディングを指定します。
@Validation 入力検証を指定します。

事前処理・事後処理

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

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