アクションはAction を継承して作成します。
リクエストされた URL に応じて、アクションメソッドが呼び出され処理を実行します。
Action クラスの中で public で戻り値が 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 | フォワードの直後で呼ばれます。通常はあまり使用することはないでしょう。 |