Struts2で複数のアクションをシングルアクションクラスで作成する方法は? 例を挙げてください。 インターネット検索で次のコードが見つかりましたが、エラーが発生しています。リクエストごとに別々のアクションクラスを作成する必要がありますか?Struts2で複数のアクションを作成する
答えて
@Quaternionによると、S2アクション自体はJavaクラスであり、何を求めているのか分かりません(シングルアクションクラスのStruts2での複数のアクション)。
は、我々はここでのように異なる別名を持つ
地図シングルアクションクラスそれらのいくつかはある単一S2アクションクラスを使用するには、いくつかの方法があります。
<action name="A" class="MyActionClass">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
<action name="B" class="MyActionClass">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
しかし、私はあなたが別のアクションメソッドに異なるアクションリクエストをマップしたいと思うと思います。 S2は任意の数のメソッドを定義する方法を提供し、UIからどのアクションクラスのどのメソッドを呼び出すかをS2に指示することができます。例えばのための
のは、我々は異なる作成する必要はありません。このため
- ログイン
- ログアウト
- 登録
のように、我々はユーザーとの対話を処理する責任があるUserActionクラスを持っているとしましょうアクションクラスですが、私たちはUserActionという単一のアクションクラスを作成し、それには別のメソッドを定義することができ、012を別のメソッド、例えば
<action name="Logon" class="UserAction" method="logon">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
<action name="Logout" class="UserAction" method="logout">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
<action name="Register" class="tUserAction" methood="register">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
これは上記のユースケースMyActionClass
では、あなたの疑問
をクリアするためにあなたを助けるかもしれない希望は2つのエイリアスAとBとのマッピングされており、あなたは任意の番号にマッピングすることができます。
別の方法:
はここでここ3つのアクション(実行、アクション1、アクション2)
public class MyAction extends ActionSupport{
public String execute(){
return SUCCESS;
}
public String action1(){
return SUCCESS;
}
public String action2(){
return SUCCESS;
}
}
を持つアクションクラスが設定されている。
<action name="myAction" class="MyAction">
<result>showMe.jsp</result>
<result name="input">showMe.jsp</result>
</action>
アクション "実行"デフォルトで呼び出されます。 アクション "action1"または "action2"を呼び出すには、 "method:action1"または "method:action2"という名前でリクエストにパラメータを入力する必要があります。
- コールデフォルトのアクション(実行): /path_to_action/myAction.action
- コールアクション1: /path_to_action/myAction.action?method:action1
- コールアクション2:/path_to_action/myAction.action?方法:アクション2
あなたのデフォルトの方法を変更することができます。
<action name="myAction" class="MyAction" method="action1">
<result>showMe.jsp</result>
<result name="input">showMe.jsp</result>
</action>
だから、あなたの通話/path_to_action/myAction.action、アクション1が実行されるとき。
あなたは、単一の場所でコードを追加/編集/削除するように選択されたアクションに基づいて、単一のアクションで複数のリダイレクトを書きたいと思っています。あなたの要件のためにDispatchActionを探す必要があります。
以下にいくつかの例を示します。すべては、DispatchActionの実装方法を示しています。
OPがStruts2に具体的にコメントしている間にStruts1を使用していた場合はこれがこれです。 – Naros
そのクランクランを指摘してくれてありがとう。あなたは自分の答えのバージョンを自由に追加することができます。 –
- 1. Struts2-アクション
- 2. 複数のモデルを1つのアクションで作成する
- 3. 複数のvalidation.xmlの問題struts2の単一アクションの問題
- 4. struts2 - optiontransferselect - 整数リストをアクションに渡す
- 5. Struts2 2.5 - 同じ形式の複数のアクション
- 6. struts2でカスタムエラーページを作成するには?
- 7. struts2で別のアクションを返す方法
- 8. Struts2:あるアクションでのフォームの表示と操作(同じアクションへのポストバック)
- 9. rails:コントローラ#アクションから複数のダウンロードファイルを作成しますか?
- 10. struts2アクションを使用した複数の同時AJAXリクエストの処理
- 11. 作成したタスクに複数のアクション(プログラム)をコマンドラインで追加するには?
- 12. コントローラで複数のアクションをバインドする
- 13. カスタム作成アクションを作成する
- 14. Struts2の別のアクションにアクションをリダイレクトできないのはなぜですか?
- 15. 複数のオブジェクトを作成するBIカスタムビジュアル、複数のオブジェクトを作成する
- 16. 複数のアクション
- 17. JavaScript関数からStruts2アクションを呼び出す方法は?
- 18. struts2アクションでフォームからの入力を検証する方法
- 19. Railsは複数のアクションを作成して関連付けも作成しますか?私のコントローラで
- 20. 複数のStruts2名前空間をタイルで使用する
- 21. Gatlingシナリオで複数のアクションを追加するアクション
- 22. Struts2の:アクションのプロパティのセッターが
- 23. Reduxアクション作成者のデフォルトの引数
- 24. Monotouch:IBOutletとアクションをプログラムで作成する
- 25. struts2アクションでContextPathを取得するには?
- 26. Android NotificationCompat.Action.Builderは、配列から複数のアクションを動的に作成します。
- 27. シングルボタン複数アクション
- 28. Struts2でJSONアクションのインターセプタを持っていますか
- 29. Angularjs:複数のアクションをトリガーするボタン
- 30. 複数のアクションをフィルタリングするGrails
あなたはどのようなコードを試してみましたか? Apache StrutsのWebサイトを見ましたか?別のマッピングを提供するだけで、複数のアクション間でアクションクラスを再利用することができます。これらのマッピングでは、署名が同意できる限り、デフォルトの「execute」以外のメソッドをオプションで指定できます。 – Quaternion
ここでの質問のタイプ: http://stackoverflow.com/a/16505496/1490962 –