- - PR -
strutsのActionクラスのソースに関して
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-11-18 13:12
こんちには。
strutsのActionクラスのソースで疑問に思うことがあるのですが・・・ Actionクラスのソースを見てみると、以下のようなメソッドがありますが、 executeメソッドから呼ばれるperformメソッドって必要なのですか? 実装する時は、Actionクラスを継承したクラスでexecuteメソッドをオーバライドしますし、その時って継承したクラスのreturn値が直接ActionServletに返るんですよね!? performメソッドがはしる時ってあるのでしょうか? また、下のexecuteメソッドの中の return perform(mapping, form, request, response)も return null ではダメなのでしょうか? とんちんかんな事を言っていたら、すいません。 どなたか解る方がいましたら、教えてください。 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception{ return perform(mapping, form, request, response); } public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse httpservletresponse) throws IOException, ServletException{ return null; } |
|
投稿日時: 2003-11-18 13:56
Action.performは、過去のバージョン(Struts1.0)との
互換性のために用意されているものです。 よって、Struts1.2(開発版)では削除されています。 通常のプログラムでは、Action.executeを使用すれば問題ありませんよ。 executeの実装がそのようになっているのは、 performだけをオーバーライドしている過去のActionクラスも動作できるようにするためです。 [ メッセージ編集済み 編集者: Emacs信者 編集日時 2003-11-18 14:12 ] |
|
投稿日時: 2003-11-18 18:46
回答して頂きありがとうございます。
互換性のためだけに、残してあるメソッドなんですね! 気分的にすっきりしました。ありがとうございます。 |
1
