0

私は Struts 2.0 を学ぼうとしており、アクションの概念をよりよく理解しようとしています。値を事前にロードしたいフォームがあります。ユーザーは JSP の値を変更してからフォームを送信できます。これにより、フォームに入力されたデータを表示するページが表示されます。

私はそれを機能させましたが、私の方法/ロジックが正しいかどうかはわかりませんでした.

Struts.xml は次のとおりです。

<action name="LoadForm" class="actions.Test" method="execute1">
  <result>/Test.jsp</result>
</action>

<action name="ShowResult" class="actions.Test" method="execute2">
  <result>/TestResult.jsp</result>
</action>

prepare()値をプリロードするために使用しています。

LoadForm.actionブラウザで呼び出すと、Test.jspプリロードされたデータが表示されます。

Test.jspはアクションが であるフォームを持っていShowResultます。

フォームを送信すると、フォームTestResult.jspの値を表示する場所に移動します。

これは正しいアプローチですか、それともより良い方法がありますか?

また、Action クラスに 2 つ以上の実行メソッドが必要な理由もわかりません。

4

1 に答える 1

0

準備メソッドは、フレームワークが実行または他のメソッドを呼び出す前にデータを初期化/準備するのに役立つ init メソッドのようなものであることを理解する必要があることを除いて、ほとんどあなたは正しいです。

S2 のアクションはモデルとしてもコントローラーとしても機能し、1 つのコントローラーが複数のタスクを実行している可能性があります。例えば、以下を含むユーザー関連プロセスの処理を担当するアクションがあります。

  1. 新しいユーザーの作成
  2. ユーザーを更新しています
  3. ユーザーに関する情報の確認

つまり、これらのタスクを実行するために 3 つの異なるアクションを用意する必要はありませんが、これらのタスクを処理する 3 つのメソッドを内部に持つ単一のアクションを作成します。

これがあなたにアイデアを与えることを願っています

于 2012-06-15T06:08:35.680 に答える