Struts-2-struts-actions
Struts 2-アクション
- アクション*は、MVC(Model View Controller)フレームワーク用であるため、Struts2フレームワークの中核です。 各URLは特定のアクションにマッピングされ、ユーザーからのリクエストを処理するために必要な処理ロジックを提供します。
しかし、このアクションは他の2つの重要な機能にも役立ちます。 まず、アクションは、JSPであれ他のタイプの結果であれ、要求からビューへのデータの転送において重要な役割を果たします。 第二に、アクションは、リクエストへの応答で返されるビューをレンダリングする結果を決定するフレームワークを支援する必要があります。
アクションを作成
オプションで、 Action インターフェイスを含む6つのインターフェイスを実装する ActionSupport クラスを拡張できます。 アクションインターフェイスは次のとおりです-
Hello Worldの例のアクションメソッドを見てみましょう-
アクションメソッドがビューを制御する点を説明するために、 execute メソッドに次の変更を加え、次のようにクラスActionSupportを拡張しましょう-
この例では、name属性を調べるためのexecuteメソッドにいくつかのロジックがあります。 属性が文字列 "SECRET" と等しい場合、結果として SUCCESS を返します。それ以外の場合、結果として ERROR を返します。 ActionSupportを拡張しているため、文字列定数 SUCCESS およびERRORを使用できます。 さて、次のようにstruts.xmlファイルを変更しましょう-
ビューを作成する
eclipseプロジェクトのWebContentフォルダーに以下のjspファイル HelloWorld.jsp を作成しましょう。 これを行うには、プロジェクトエクスプローラーでWebContentフォルダーを右クリックし、[ New> JSP File ]を選択します。 このファイルは、返される結果がSUCCESSである場合に呼び出されます。SUCCESSは、Actionインターフェイスで定義されている文字列定数「成功」です-
以下は、アクションの結果が文字列定数「error」に等しいERRORの場合にフレームワークによって呼び出されるファイルです。 以下は AccessDenied.jsp のコンテンツです。
また、WebContentフォルダーに index.jsp を作成する必要があります。 このファイルは、ユーザーがStruts 2フレームワークにHelloWorldActionクラスの* execute *メソッドを呼び出してHelloWorld.jspビューをレンダリングするように指示するためにクリックできる初期アクションURLとして機能します。
それだけです。web.xmlファイルに必要な変更はないので、例*の章で作成したweb.xmlと同じものを使用しましょう。 これで、Struts 2フレームワークを使用して *Hello World アプリケーションを実行する準備が整いました。
アプリケーションを実行する
プロジェクト名を右クリックし、[エクスポート]> [WAR ファイル]をクリックして、WARファイルを作成します。 次に、このWARをTomcatのwebappsディレクトリにデプロイします。 最後に、Tomcatサーバーを起動して、URL *http://localhost:8080/HelloWorldStruts2/index.jsp にアクセスしてみます。 これにより、次の画面が表示されます-
「SECRET」と単語を入力してみましょう。次のページが表示されます-
「SECRET」以外の単語を入力すると、次のページが表示されます-
複数のアクションを作成する
あなたは頻繁に異なる要求を処理し、ユーザーに異なるURLを提供するために複数のアクションを定義します。したがって、以下に定義するように異なるクラスを定義します-
次のようにstruts.xmlファイルでこれらのアクションを設定します-
上記の仮想的な例でわかるように、アクション結果 SUCCESS と ERROR’s は重複しています。
この問題を回避するには、結果の結果を含むクラスを作成することをお勧めします。