この記事はJakarta Struts 1.1に関する記事の前半です。この記事の一部は、Sue Spielman の著書『The Struts Framework: PRactical Guide for Java Programmers (Morgan-Kaufmann) / Struts Framework Java Programmer's Practical Guide』からのものです。この本は、Struts 1.1 の包括的かつ詳細な紹介を提供する、市場に出ている最初の本の 1 つです。 Sue には、sspielman@switchbacksoftware.com で連絡できます。
昨年、Struts フレームワーク (Jakarta kaiju プロジェクト) が Web アプリケーションを構築するための事実上の標準になりました。 Struts は、MVC パターン アーキテクチャに基づいた信頼性の高いフレームワークであることが証明されており、さまざまなシステムで使用できます。実際、開発チームと私がプロジェクト用のカスタム MVC パターン フレームワークを開発するサイクルを費やした理由を考え出す必要がありました。これは少し理解できません。
Struts v1.1 は、このフレームワークの最新バージョンです。この記事の執筆時点では、Struts v1.1 はまだベータ 2 であり、最終バージョンはまもなくリリースされる予定です。今すぐ v1.1 の使用方法を学習し始める必要はないように思えるかもしれませんが、実際には、このバージョンを使用する必要がある理由はたくさんあります。
この記事は 2 つの部分から構成されています。ここの最初の部分では、Jakarta ユニバーサル ライブラリの統合とマルチアプリケーションのサポートについて簡単に紹介します。 2 番目のパートでは、ネストされたタグ ライブラリ、プラグイン API、および例外処理宣言に焦点を当てます。新しいバージョンではフレームワークにいくつかの重要な改善が加えられているため、このバージョンで新しい開発を開始することをお勧めします。実際、とてもお勧めします。 v1.0.2 との下位互換性を維持することは、Struts プロジェクト参加者の永続的な目標であり、v1.1 では素晴らしい仕事をしてくれました。この記事の最後では、v1.0.2 から v1.1 にアップグレードする際に注意する必要があるいくつかの問題を指摘します。
この記事はStrutsの入門書ではありません。このアーキテクチャのさまざまなコンポーネントについてはすでによく理解していることを前提としています。最初に入門編を見る必要がある場合は、私が書いた Struts フレームワークの 3 部構成の入門書 (http://www.onjava.com/pub/a/onjava/2001/09/11/jsp_servlets) をお読みください。 .HTML)。
UPDATE
v1.1 の開発全体を通して、Struts にエキサイティングな機能と改善が加えられました。順番に紹介していきますが、まずは新着情報から見ていきましょう。
BeanUtil や Logging などの Jakarta 一般ライブラリの使用
DynaActionForms はコードを書かずに動的アクション フォームを作成できます
マルチアプリケーションのサポートにより、複数の struts-config.xml 構成ファイルを定義できます。タグ ライブラリにより、JSP ページ内のネストされたオブジェクト システムに簡単にアクセスできます。
タイルとバリデーターは、高度なテンプレートとフォーム検証式を提供します。
例外処理ステートメントにより、アクションが可能になります。すべての例外をキャッチすることを心配する必要はありません。
それぞれの特徴を一つずつ見ていきましょう。
Jakartaユニバーサルライブラリの統合
Strutsツールキットは、Webアプリケーションを作成するときに常に発生する問題を解決できます。このパッケージ内のクラスのほとんどは、コントローラーのサーブレット フレームワークやカスタム タグ ライブラリに依存しないため、一般的な Java アプリケーション プログラミングで使用できます。 Struts 1.1 リリースでは、このパッケージ内の多くのクラスが Jakarta の公共プロジェクトに移植されました。これらのクラスには、Bean ツール、コレクション、ダイジェスター パッケージが含まれます。 Struts で提供されるロギングは、実際にはパブリック プロジェクトから取得されたもので、org.apache.commons.beanutils コンポーネントは Java の Reflection および Introspection アプリケーション プログラミング インターフェイス (API) をカプセル化しています。 beanutils パッケージのクラスを使用すると、未知のメソッド名をコンパイルせずに、ゲッター メソッドとセッター メソッドを動的に呼び出すことができます。これらのクラスは Struts のカスタム タグ ライブラリを使用して呼び出されるため、アプリケーションに追加のカスタム タグを定義できます。このパッケージで利用できるものについて詳しく知りたい場合があります。表 1 にこれらを示します。
表 1: Struts 1.1 の共通パッケージ
BeanUtils はリフレクションを通じて JavaBeans プロパティをアセンブルする
ConvertUtils 文字列値を指定されたクラスのオブジェクトに変換する
MappedPropertyDescriptor はプロパティを記述およびマップする
MethodUtils は属性などの詳細ではなく一般的なメソッドに焦点を当てる
PropertyUtils は、Java Reflection アプリケーション プログラミング インターフェイス (API) を使用して、一般的なプロパティに対してセッター (値の設定) およびゲッター (値の取得) 操作を実行します
Digester パッケージは、XML ドキュメントに基づいたルールを提供します。これを行うことは、オブジェクトを正しく初期化できるように構成ファイルを読み取るために非常に重要です。このパッケージを使用すると、DOM または SAX 処理をより深く理解する必要がある作業を非常に簡単に行うことができます。 XML 内のスキーマが検証される場合、これはルールを指定するオブジェクト マッピング モジュールを通じて実行できます。これには、独自のパターン マッチング エンジン、法的な名前空間処理、および複数のアプリケーションで使用するルールをカプセル化する RuleSet を組み込む機能が含まれます。 Digester パッケージは、適切な Java オブジェクトにマップする必要のない XML ファイルを明示的に読み取る場合に便利です。
上記は Jakarta Struts 1.1 (1) の学習内容です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。