org.seasar.cubby.action
クラス Forward

java.lang.Object
  上位を拡張 org.seasar.cubby.action.Forward
すべての実装されたインタフェース:
ActionResult

public class Forward
extends Object
implements ActionResult

指定されたパスにフォワードする ActionResult です。

アクションメソッドの戻り値としてこのインスタンスを指定することで、指定されたパスにフォワードします。

使用例1 : フォワード先を相対パスで指定

 return new Forward("list.jsp");
 

使用例2 : フォワード先を絶対パスで指定

 return new Forward("/todo/list.jsp");
 

使用例2 : フォワード先をクラスとメソッド名で指定

 return new Forward(TodoListAction.class, "show");
 

使用例3 : フォワード先をクラスとメソッド名で指定(paramメソッドによるパラメータつき)

 return new Forward(TodoListAction.class, "show").param("value1", "12345");
 

使用例3 : フォワード先をクラスとメソッド名で指定(Mapによるパラメータつき)

 Map<String, String[]> parameters = new HashMap();
 parameters.put("value1", new String[] { "12345" });
 return new Forward(TodoListAction.class, "show", parameters);
 

フォワード前には Action.invokePreRenderMethod(Method) を実行します。 フォワード後には Action.invokePostRenderMethod(Method) を実行し、フラッシュメッセージをクリアします。

作成者:
baba

コンストラクタの概要
Forward(Class<?> actionClass)
          指定されたアクションクラスのindexメソッドへフォワードするインスタンスを生成します。
Forward(Class<?> actionClass, String methodName)
          指定されたアクションメソッドへフォワードするインスタンスを生成します。
Forward(Class<?> actionClass, String methodName, Map<String,String[]> parameters)
          インスタンスを生成します。
Forward(String path)
          インスタンスを生成します。
 
メソッドの概要
protected  String calculateForwardPath(String path, Class<?> actionClass, String characterEncoding)
          フォワードするパスを計算します。
 void execute(ActionContext actionContext, HttpServletRequest request, HttpServletResponse response)
          処理を実行します。
 String getPath(String characterEncoding)
          パスを取得します。
 Forward param(String paramName, Object paramValue)
          パラメータを追加します。
 Forward param(String paramName, Object[] paramValues)
          パラメータを追加します。
 Forward param(String paramName, String[] paramValues)
          パラメータを追加します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Forward

public Forward(String path)
インスタンスを生成します。

パラメータ:
path - フォワード先のパス

Forward

public Forward(Class<?> actionClass,
               String methodName,
               Map<String,String[]> parameters)
インスタンスを生成します。

パラメータ:
actionClass - アクションクラス
methodName - アクションメソッド名
parameters - パラメータ

Forward

public Forward(Class<?> actionClass)
指定されたアクションクラスのindexメソッドへフォワードするインスタンスを生成します。

パラメータ:
actionClass - アクションクラス

Forward

public Forward(Class<?> actionClass,
               String methodName)
指定されたアクションメソッドへフォワードするインスタンスを生成します。

パラメータ:
actionClass - アクションクラス
methodName - アクションメソッド名
メソッドの詳細

getPath

public String getPath(String characterEncoding)
パスを取得します。

パラメータ:
characterEncoding - URI のエンコーディング
戻り値:
パス

execute

public void execute(ActionContext actionContext,
                    HttpServletRequest request,
                    HttpServletResponse response)
             throws ServletException,
                    IOException
処理を実行します。

定義:
インタフェース ActionResult 内の execute
パラメータ:
actionContext - アクションコンテキスト
request - 要求
response - 応答
例外:
ServletException
IOException

calculateForwardPath

protected String calculateForwardPath(String path,
                                      Class<?> actionClass,
                                      String characterEncoding)
フォワードするパスを計算します。

パラメータ:
actionClass - アクションクラス
characterEncoding - URI のエンコーディング
戻り値:
フォワードするパス

param

public Forward param(String paramName,
                     Object paramValue)
パラメータを追加します。

パラメータ:
paramName - パラメータ名
paramValue - パラメータの値。Object#toString()の結果が値として使用されます。
戻り値:
フォワードする URL

param

public Forward param(String paramName,
                     Object[] paramValues)
パラメータを追加します。

パラメータ:
paramName - パラメータ名
paramValues - パラメータの値の配列。配列の要素のObject#toString()の結果がそれぞれの値として使用されます。
戻り値:
フォワードする URL

param

public Forward param(String paramName,
                     String[] paramValues)
パラメータを追加します。

パラメータ:
paramName - パラメータ名
paramValues - パラメータの値
戻り値:
フォワードする URL


Copyright © 2006-2010 The Seasar Foundation. All Rights Reserved.