私のストラット2ウェブアプリには、ウェブページ上にいくつかのメニュータブがあります。これらのメニュータブは、クリックするとajaxアクションを起動します。これらのアクションはすべて単一のアクションクラスになります。このアクションクラスは、要求をヘルパークラスにルーティングします。ヘルパークラスには次のようなメソッドがあります:
アクション= thisの場合、
アクションが=の場合は、
というように、各アクション(つまり各タブ)ごとに行います。
誰かがこのデザインに関するコメントを提供することができますか。これはstruts 2の正しい使用ですか?あるいは、別々のアクションクラスを用意する必要がありますか? はまた、ヘルパークラスのための任意の標準的な慣行(すなわち、それは静的、シングルトン、スレッドセーフなどでなければなりません)思考のstruts2アクションクラス-1クラス(ajax)リクエストごと?
1
A
答えて
1
カップル:?
処理するために、Actionクラスを使うことには何も問題はありません複数のstruts2アクション。 struts2では、特定のアクションをクラスのメソッドにルーティングできます。これは、クラス自体が有用な整理装置である場合に役立ちます。たとえば、作成、読み込み、更新などのウィジェットを作成し、CreateWidgetAction、ReadWidgetActionなどのクラスを設定するよりも、クラッタの原因となるWidgetActionクラスがあればいいですその上にcreate()、update()などのメソッドを追加します。私はそれがあなたの事例では素敵なフィット感ではないと思っています。あなたが何を描いているのか(異なるメニュータブ)、確かにそれを行うことができます。コードを維持しながら見るファイルが少なくて済みます。
これらの異なるメソッドと結果をレンダリングする異なるJSPに異なるアクションをマップする必要があることに注意してください。
ヘルパークラスに関して、私のアドバイスは、ビュー+コントローラ関連のロジックをActionクラスに入れて、モデルロジックを他のクラス(おそらくヘルパークラス)のままにしておくことです。ヘルパークラスがプレゼンテーションから独立したデータを計算している場合、これは確かに正当です。しかし、ヘルパークラスが単純にビューを準備している場合は、論理をアクション自体に入れてください。
関連する問題
- 1. Struts2のアクションクラスのチェックボックスのIDと値
- 2. org.apache.http.client.HttpClient - リクエストごとに1つ?
- 3. struts2アクションクラスで値を取得する
- 4. ICallbackEventHandlerリクエストは1秒ごとです。
- 5. リクエストごとに1ページにリダイレクトYii2
- 6. クリックするとアクションクラスのstruts2 treenode値にアクセスする方法
- 7. Jquery Ajax 1秒ごとにロード
- 8. ajaxリクエストを1つずつ
- 9. struts2 ajaxリダイレクト
- 10. 複数のオブジェクトをstruts2のアクションクラスにマップする
- 11. カスタムタイムごとにAJAXリクエストを制限する方法
- 12. アクションクラスごとにstruts-rest idParameterNameを変更する
- 13. クラスごとに1回、グループに1回実行する
- 14. WatirとAjaxリクエスト
- 15. Phonegapとajaxリクエスト
- 16. ページ/リクエストごとに1つのTelerikウィンドウを確保する
- 17. アクションコマンドとアクションクラス
- 18. リクエストごとにRails3ローディングモデルスキーマ
- 19. PHPUnit:リクエストごとに404コード
- 20. 1つのAjaxリクエスト、複数の応答?
- 21. WebリクエストごとのEF DbContext +カスタムRoleProvider = WebリクエストまたはシングルトンごとのRoleProvider?
- 22. Liferay6:Jsr168Dispatcher Struts2のクラス
- 23. Struts2 i18n in javaクラス
- 24. AJAXリクエストと返信
- 25. Ajaxリクエストとtext/xml
- 26. strutsアクションクラスとビジネスサービス層
- 27. セッションごとまたはリクエストごとのTomcatセキュリティレルム?
- 28. 1つのajaxリクエストで配列とオブジェクトを渡す
- 29. 写真とタグを1つのAjaxリクエストに追加する
- 30. 各リンクをクラスごとに1回だけ追加します
コード例をご覧ください。 –
ああ男の子。これは少し難しいかもしれない..一般的なヒント?コードサンプルがなければ少し難しいと私は理解しています。 – Victor