さて、Strutsを勉強したいので、Struts 1から始めて、一般的な流れを知りたいと思います。どのファイルが必要ですか?
Struts-config.xmlの機能は何ですか? validate.xml? validate-rules.xml JSPページにアクセスし、アクションが実行されると、どうなりますか? ActionクラスとFormクラスは何をしますか?アクションが発生したときに最初に呼び出されるクラス。
サンプルフォームをダウンロードしたところ、これらのファイルはすべて最初は混乱します。 Strutsのより良いアイデアを得るために何が起こっているのか知りたいです。
Strutsのチュートリアルから始める必要があります。これにより、:Dを簡単に理解できるようになります。特にStruts1の場合は、Web上でたくさん見つけることができます。 たとえば、ここから開始点があります 。
しかし、それのためだけに、ここにハイビュープレゼンテーションがあります。
まず、Struts ActionServlet
を_web.xml
_ファイルに追加し、特定のマッピングに一致するリクエストを受け入れるように構成します。 Strutsの場合、これは_*.do
_です(これには何でも使用できます。_*.do
_はStrutsコミュニティの単なる慣例です)。
これで、そのような_*.do
_ URLパターンでサーバーに到着したものはすべて、ActionServlet
に送信されます。
これで、_struts-config.xml
_ファイルのコンテンツが機能します。 ActionServlet
は フロントコントローラー であり、特定の処理のために他のより適切なリソースにディスパッチするだけです。それらの特定のリソースは Action
クラスです。
たとえば、_login.do
_パスに到着するリクエストを処理する必要があるLoginAction
を持つことができます。 _struts-config.xml
_で、これを指定します。login
パスにあるすべてのものをLoginAction
クラスに送信する必要があります。
また、パスx
call XAction
、y
call YAction
など、必要な数の宣言を含めることができます。
通常、クライアントはデータをサーバーに送信します。データは、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に直接アクセスする必要がなくなります。Strutsフレームワークによって非表示にする必要があります)。
新しいページで、クライアントは再びいくつかの要求を実行し、プロセスが繰り返されます。
まあ、それはそれが得ることができるのと同じくらい高いプレゼンテーションです。もちろんこれ以上のものがありますが、Strutsについて学びながらそれらを発見するでしょう。
_validator-rules.xml
_と_validation.xml
_は、プラグイン(Struts)を使用して Validator フレームワークで使用されます Strutsと統合 新しいものを追加するために使用できるプラグインがあります)また、ユーザーの入力に検証を追加します。
まあ、それはそれについてです。詳細を提供するチュートリアルはWeb上にたくさんありますが、より良いスタートを切るのに役立つことを願っています。
幸運を!
action="login.do"
_を持つそのページ。コンテナは_web.xml
_を呼び出します。その_web.xml
_には、サーブレットとサーブレットマッピングの2つのセクションがあります。*.do
_が見つかります。サーブレットの名前をとることがわかった場合。対応するクラスを確認してください。サーブレットセクション。そのクラスはActionServlet
です。RequestPrecessor
クラスインスタンスを作成しますService(req,res) RequestPrecessor rp = new RequestPrecessor();
rp.process(req,res)
を介してRequestProcessor
クラスのプロセスメソッドを呼び出します。その状態の中で6つのステップが処理されています
Struts- Config.xml
_にアクションマッピングインスタンスを作成します。アクションマッピングパス、値、タイプフォワード、_validation=true/false
_、_input ="*.jsp"
_などのすべての詳細をこれらのrが作成したインスタンスに保持しますActionMapping
インスタンスに移動します。risが言及しているかどうかは_validate =true/false
_です。falseの場合、このステップは実行されません。それ以外の場合は、このステップが実行されます。ActionErrors
インスタンスを返します。空でない場合。エラーページに移動します。それ以外の場合は、対応するページに移動します。それ以外の場合、空の場合はさらに進んで、対応するページの値をjspビューに表示します。これはStrutsフローです。