|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |
@Retention(value=RUNTIME) @Target(value={METHOD,TYPE}) public @interface Path
アクションメソッドのパス。
アクションメソッドを起動するためのパスを指定するアノテーションです。
使用例
@Path("fuga") public class HogeAction { // -> "/fuga/index" public ActionResult index() { } // -> "/fuga/m1" public ActionResult m1() { } @Path("list") // -> "/fuga/list" public ActionResult m2() { } @Path("/xxx/yyy") // -> "/xxx/yyy" public ActionResult m3() { } @Path("/{id}/edit") // {id}部分をリクエストパラメータに追加。 // {id}部分の正規表現は省略されているためデフォルトの「[0-9a-zA-Z]+」。 // priority(優先度)はデフォルト値の「Integer.MAX_VALUE」。 public ActionResult m4() { } @Path("/{userId,[a-z]+}/edit", priprity=0) // {userId}部分をリクエストパラメータに追加。 // {userId}部分の正規表現は「[a-z]+」のため小文字アルファベットのみ。 // priority(優先度)は「0」のため、m4メソッドよりも先に適用される。 public ActionResult m5() { } } @Path("/") public class RootAction { // -> "/" public ActionResult index() { } // -> "/m1" public ActionResult m1() { } @Path("list") // -> "/list" public ActionResult m2() { } @Path("/xxx/yyy") // -> "/xxx/yyy" public ActionResult m3() { } }
任意要素の概要 | |
---|---|
int |
priority
アクションメソッドのバインディング時の優先度を設定します。 |
String |
value
アクションメソッドのバインディング用パスを指定します。 |
public abstract String value
URLはアクションクラスのパス+アクションメソッドのパスで決定されます。 ただし、先頭が『/』の場合コンテキストルートからの絶対パスとして解釈されます。
{パラメータ名,正規表現}でプレースホルダーの指定ができます。
正規表現にマッチした場合、マッチした箇所が指定されたパラメータ名に追加され、アクションメソッドが実行されます。 正規表現は省略可能です。省略した場合「[a-zA-Z0-9]+」と同じ意味になります。
アクションメソッドのパスは「パスの正規表現+リクエストメソッド
」で一意に特定できなければいけません。
実行時に重複が発見されると例外が発生します。
Accept
public abstract int priority
この値が小さいほど、優先度が高く先に適用されます。デフォルト値はInteger.MAX_VALUE
です。
手動でバインディングの設定が追加された場合、優先度は0から順番に振られます。手動追加よりも自動設定の優先度を上げたい場合は、負の値を設定してください。
手動によるバインディング設定の追加
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |