14

さて、Strutsを勉強したいのでStruts1から始めますが、大まかな流れを知りたいです。必要なファイルは何ですか?

struts-config.xml の機能は何ですか? 検証.xml? validation-rules.xml JSP ページにアクセスしてアクションが起動されると、何が起こるでしょうか。Action クラスと Form クラスは何をしますか? アクションが発生したときに最初に呼び出されるクラス。

サンプル フォームをダウンロードしたところ、これらすべてのファイルが最初は混乱を招きます。Struts のより良いアイデアを得るために何が起こっているのか知りたいです。

4

3 に答える 3

35

Struts のチュートリアルから始めると、理解しやすくなります :D. 特に Struts 1 については、Web 上でたくさん見つけることができます。たとえば、ここに出発点があります

しかし、念のため、ここでハイビュー プレゼンテーションを行います。

ActionServletまず、Strutsをファイルに追加しweb.xml、特定のマッピングに一致する要求を受け入れるように構成します。Struts*.doの場合は次のようになります (必要なものは何でも使用できます。これ*.doは Struts コミュニティの単なる慣習です)。

*.doこれで、このようなURL パターンでサーバーに到着したものはすべて に送信されActionServletます。

ここで、struts-config.xmlファイルの内容が登場します。はActionServlet、特定の処理のために他のより適切なリソースにディスパッチするだけのフロントコントローラーです。これらの特定のリソースはActionクラスです。

たとえば、パスLoginActionに到着するリクエストを処理する必要がある を使用できます。login.doあなたはこれを指定しstruts-config.xmlます:パスに来るものはすべてクラスloginに送られる必要があります。LoginAction

xまた、 path call XAction、 for ycallYActionなど、必要な数の宣言を行うことができます。

通常、クライアントはデータをサーバーに送信し、そのデータを HTML フォームに入力します。Actionこのデータは、クラスで処理する必要があります。を入力しActionFormます。

ActionForm、Struts フレームワークが HTML フォームからのデータを格納する Bean です。代わりに、たとえばrequest.getParameter("foo")のようなオブジェクトを操作できます 。formBean.getFoo()

Actionを使用してクラスで処理を行ったらActionForm、結果を何らかのビューで表示する必要があります (ちなみに、Struts はMVCフレームワークであるため、これについても 1 つか 2 つ知っておく必要があります)。

ビューは通常、JSP ファイルです。から戻るときはAction、「進む」場所を名前で指定します (つまり、どのビューに移動するか)。struts-config.xmlここでも、ビューの名前が JSP の場所にマップされているファイルに情報が含まれています。

その後、フレームワークはその JSP に制御を転送し、JSP は HTML としてクライアントに送信されるデータを提示します (クライアントは JSP に直接アクセスする必要がなくなります。JSP は Struts フレームワークによって隠されている必要があります)。

新しいページで、クライアントは再びいくつかの要求を実行し、プロセスが繰り返されます。

まあ、それはそれが得ることができるのと同じくらい高いプレゼンテーションです. もちろん、これ以外にもありますが、Struts について学ぶうちにそれらを発見できます。

validator-rules.xmlとに関してはvalidation.xml、これらはValidatorフレームワークによって使用され、プラグイン (Struts には新しいものを追加するために使用できるプラグインがあります) を使用してStruts と統合し、ユーザーの入力に検証を追加することもできます。

まあ、それはそれについてです。ウェブ上には詳細を提供するチュートリアルがたくさんありますが、より良いスタートを切るのに役立つことを願っています.

幸運を!

于 2011-04-28T15:30:06.873 に答える
8
  1. ユーザーが jsp ページを送信したとき。そのページは (の属性) を持っていますaction="login.do"。コンテナは を呼び出しますweb.xmlweb.xmlサーブレットとサーブレットのマッピングの 2 つのセクションがあるという 点で
  2. サーブレット マッピングで*.doは、url-pattern で検索します。サーブレットの名前を取ることがわかった場合。対応するクラスを確認します。サーブレットセクションにあります。このクラスは ActionServlet
  3. ActionServlet は、Struts モジュール アーキテクチャのコントローラです。service メソッドを持つ in Action サーブレット。そのメソッドでは、 RequestPrecessorクラス インスタンスを作成します
  4. Service(req,res) RequestPrecessor rp = new RequestPrecessor();
  5. RequestProcessorインスタンスを介してクラスのプロセスメソッドを呼び出しますrp.process(req,res)
  6. リクエスト プロセッサ クラスには、req,res のパラメータを持つ process メソッドがあります。このクラスの if 条件は 1 です。その条件は常に true を返します。それはダミーの方法だからです。

その状態の中で6つのステップが処理されています

  1. でアクション マッピング インスタンスを作成しますStruts- Config.xml。アクション マッピング パス、値、タイプ フォワードなどのすべての詳細が保持validation=true/falseinput ="*.jsp"れます。これらの r 作成されたインスタンス
  2. 次に、アクション マッピングの名前とフォーム名が一致するかどうかをチェックする前に、フォーム クラス インスタンスを作成します。一致する場合は、フォーム インスタンスを作成します。
  3. 次にActionMapping、リスク メンションのインスタンス に移動するvalidate =true/falseか、false の場合はこのステップを実行しません。それ以外の場合は、このステップを実行します。
  4. 次に、アクションインスタンスを作成します
  5. ActionErrors次に、インスタンスを返す execute メソッドの 4 つのパラメーターを受け取り ます。空でない場合。エラーページに移動するか、対応するページに移動します。それが空の場合はさらに進み、対応するページの値を jsp ビューに表示します。これが struts フローです。
于 2012-03-16T14:00:26.070 に答える