開発者ドキュメント

Strutsチュートリアル


strutsチュートリアル、title = "ストラットチュートリアル"


Struts 1.x

は、最も有名で、古くて実績のあるModel-View-Contraller(MVC)フレームワークです。しばしば、あなたはStruts 1.xを学ぶのに無意味な何かを聞きますが、それは死んだフレームワークです。しかし、Struts 1.xの巨大な成功に伴い、まだ数十万の企業がStruts 1.xを実装しており、アップグレードは考慮されていないため、Struts 1.xはまだ多くの保守性をもたらしています。

Struts 1.xは完全なWebフレームワークであり、完全なWebフォームコンポーネント、バリデーター、インターナリゼーション、エラー処理、タイルレイアウト、学習曲線が低く、実装が簡単です。このチュートリアルでは、Struts 1.x MVCフレームワークの使用に関する多くのステップバイステップの説明と説明を提供します。

ハッピーラーニングストラット。 🙂

Strutsのクイックスタート

Struts 1.xフレームワークについて理解しています。

例]Struts MVCのしくみを理解するためのhello worldの例を考えてみましょう。

ストラット設定

Struts設定に関するすべてのもの。

タグライブラリ]Strutsを使用するには、Strutsタグライブラリのプロパティを手動または自動で設定する必要があります。

  • link://struts/configure-a-welcome-page-in-struts/[welcomeを設定する

Strutsのページ]Strutsのウェルカムページを設定します。

  • link://struts/struts-multiple-configuration-files-example/[複数

Struts設定ファイル]大規模なプロジェクト環境では、複数のStruts設定ファイルが必要です。ここでは、複数のStruts設定ファイルを設定する例を示します。

  • link://struts/struts-wildcards-example/[Strutsの設定ファイル

ワイルドカードサポート]プロジェクトが特定の標準ファイル構造に従っている場合、ワイルドカードはStruts設定ファイルの重複コードを減らすのに便利な機能です。

Strutsのアクション

ActionおよびActionForm実装クラス。

コントローラークラスを介さずにJSPクラスに直接アクセスできるようにします。

関連するすべての関数を単一のアクションクラスにまとめることができます。

例]+
DispatchActionと同じですが、同様の機能を単一のグループにまとめます
アクションクラスではあるがメカニズムが異なる
**

DynaActionFormの例

+

仮想フォームBeanを宣言的に作成して、開発速度を向上させることができます。

Struts Webフォームコンポーネント

Strutsはすべての標準Webフォームコンポーネントを完全にサポートしています。

Struts <html:text>テキストボックスの例

  • link://struts/struts-htmlhidden-hidden-value-example/[隠し値

例]+ Struts <html:hidden>隠し値の例です。

  • link://struts/struts-htmlradio-radio-option-example/[ラジオオプション

例]Struts <html:radio>ラジオオプションの例。

  • link://struts/struts-htmlselect-drop-down-box-example/[ドロップダウンボックス

例]+ Struts <html:select>ドロップダウンボックスの例

  • link://struts/struts-htmlcheckbox-checkbox-example/[チェックボックス

例]Struts <html:checkbox>チェックボックスの例

Struts <html:file>ファイルのアップロード例。

  • link://struts/struts-htmltextarea-textarea-example/[TextArea

例]Struts <html:textarea> textareadの例です。

Struts <html:rewrite>例、要求されたURIをレンダリングし、ハイパーリンクを作成せず、JavaScriptとCSSファイルを生成するのに便利です。

Strutsロジックタグ

Strutsには、Beanコンポーネントの反復処理や条件付き処理を容易にするために、多くのロジックタグが用意されています。

コレクションを繰り返し処理するためのStrutsタグ。

  • link://struts/struts-logic-empty-logic-notempty-example/[<ロジック:空>

<logic:notEmpty>例]speficiedプロパティをチェックするStrutsタグがnullまたは長さゼロのStringです。

  • link://struts/struts-logic-equal-logicnotequal-example/[<logic:equal>

<logic:notEqual>例]+ speficiedプロパティをチェックするStrutsタグは、指定された値と等しいです。

  • link://struts/struts-logicgreaterthan-logicgreate-logiclesstrong-logiclessequal-example/[<logic:greaterThan>

<logic:greaterEqual> <logic:lessThan> <logic:lessEqual>例)数値を比較するためのStruts条件タグです。

  • link://struts/struts-logicmatch-logicnotmatch-example/[<logic:match>

<logic:notMatch>例]speficiedプロパティをチェックするStrutsタグは、指定された値を部分文字列として含みます。

  • link://struts/struts-logic-messages-present-logic-messages-notpresent-example/[<ロジック:messagesPresent>

<logic:messagesNotPresent>例]指定されたメッセージをチェックするStrutsタグ、または現在のリクエストにエラーメッセージが存在します。

  • link://struts/struts-logic-present-logic-notpresent-example/[<logic:present>

<logic:notPresent>例]指定された特定のオブジェクトまたはプロパティをチェックするためのStrutsタグが、現在のリクエストに存在します。

Strutsエラーとロギング

例外処理とエラーログ。

  • link://struts/struts-global-custom-exception-example/[<global-exception>

カスタム例外ハンドラ]Struts <global-exception>:カスタムエラーページをユーザに表示します。

  • リンク://struts/struts-log4j-integration-example/[Struts + Log4j

統合]+ StrutsをLog4jロギング・フレームワークと統合して、システムの例外とエラーを記録します。

  • link://struts/how-to-handle-404-error-in-struts/[404のエラーを処理する

Struts]Strutsの古典404エラーページを処理します。

Strutsのローカライゼーション

Strutsは、国際化またはローカライゼーションに優れたサポートを提供しています。

国際化またはローカライゼーションの例]シンプルなユーザーログインの例では、すべてのメッセージとエラーメッセージがローカライズされています。

Struts Validator Framework

Strutsバリデーターフレームワークでは、フォームコンポーネントを検証するための多くの汎用メソッド(required、maxlength、minlength ..)が用意されているため、検証コードを標準化しやすく保守しやすくなります。

  • link://struts/struts-validator-framework-example/[Strutsバリデーター

example]+単純なユーザ登録フォーム。Strutsバリデータでユーザ名、パスワード、電子メールフィールドを検証する。

Strutsタイルフレームワーク

Strutsタイルフレームワークは強力なレイアウトフレームワークで、すべてのWebページでヘッダー、フッター、またはメニューの詳細を標準的に維持するために使用されます。

  • link://struts/struts-tiles-framework-example/[Struts Tilesフレームワーク

例]単純なWebアプリケーションで、Sturtsタイルフレームワークを使用してヘッダーとフッターのページを簡単に変更する方法を示します。

Strutsと他のフレームワークとの統合

他のフレームワークとのStrutsの統合についての何か。

  • link://struts/struts-spring-integration-example/[Strutsスプリング

integration]SpringフレームワークとStrutsを統合する例。

  • リンク://struts/struts-hibernate-integration-example/[Struts Hibernate

integration]+ HibernateフレームワークとStrutsを統合する例。

  • リンク://struts/struts-spring-hibernate-integration-example/[Struts

Spring Hibernate integration]SpringとHibernateフレームワークにStrutsを統合する例。

  • リンク://struts/struts-quartz-scheduler-integration-example/[Struts

Quartz scheduler integration]StrutsとQuartzフレームワークを統合する例。

  • リンク://struts/struts-spring-quartz-scheduler-integration-example/[Struts

Spring Quartzスケジューラー統合]StrutsをSpringおよびQ​​uartzフレームワークと統合する例。

Strutsその他

その他Strutsの例

  • link://struts/struts-download-file-from-website-example/[ファイルをダウンロードする

Webサイトの例から]+ StrutsのWebサイトからファイルをダウンロードする方法。

Strutsの一般的なエラー

いくつかのStrutsの一般的なエラーメッセージ。

  • link://struts/the-absolute-uri-httpstruts-apache-orgtags-bean-can-be-resolved-in-both-web-xml-or-the-jar-files-with-this-application/[The

絶対URI:http://struts.apache.org/tags-beanは解決できません
web.xmlまたはこのアプリケーションと共にデプロイされたjarファイル]** link://struts/java-lang-classnotfoundexception-org-apache-struts-action-forwardaction/[java.lang.ClassNotFoundException:

org.apache.struts.action.ForwardAction]** link://struts/can-find-message-resources-under-key-org-apache-struts-action-message/[canできません

キーorg.apache.struts.action.MESSAGEの下にメッセージリソースを見つける
** link://struts/java-lang-noclassdeffounderror-orgapachecommonsfileuploadfileuploadexupload/[java.lang.NoClassDefFoundError

: org/apache/commons/fileupload/FileUploadException]** link://struts/java-lang-noclassdeffounderror-orgapachecommonsiooutputdeferredfileoutputstream/[java.lang.NoClassDefFoundError:

org/apache/commons/io/output/DeferredFileOutputStream]** link://struts/struts-global-exception-xml-parsing-exception/[<global-exceptions>

XML解析の例外]** link://struts/struts-error-nosuchmethoderror-digester-parseljavaneturlljavalangobject/[NoSuchMethodError

: Digester.parse(Ljava/net/URL;)Ljava/lang/Object]

モバイルバージョンを終了