Jakarta Struts 1.1 (2) の学習
DynaActionForm
DynaActionFormは、基本的にActionFormを書く必要をなくす便利な仕組みを提供します。 DynaActionForm では動的なフォーム プロパティが可能です。これは、struts-config.xml ファイルでプロパティを定義し、フォーム タイプを org.apache.struts.action.DynaActionForm に設定できることを意味します。何も書く必要はありません。 DynaActionForm は、Apache パブリック プロジェクトの DynaBean を使用して、これらの操作を完了します。この動的な動作は、リフレクションとハッシュマップを通じて提供されます。
DynaActionFormはstruts-config内のタグを使用して定義されています。属性名はアクション内のフォーム Bean のインデックスに使用され、タイプはインスタンス化されたクラスを指定するために使用されます。 DynaActionForm クラスを使用する場合、動的プロパティは自動的にデフォルトで true に設定されます。 DynaActionForm の場合、フォームのすべてのプロパティは要素を使用して指定されます。要素内の名前は属性名を指します。 Type は、Bean 属性の Java 実装クラスのクラス名を参照します。この属性がインデックス型の場合は、型の後に「[ ]」を追加します。上の表では、最後の属性ジャンルの定義に注目してください。初期値 (またはデフォルト値) は「ダンス」に設定されています。この値は、DynaActionForm のreset() メソッドが呼び出されたときにデフォルト値としても設定され、フォームにデフォルト値を設定するメカニズムを許可します。初期属性に値が指定されていない場合、すべてのプリミティブ型の初期値は 0 に設定され、オブジェクトの場合、初期値は null (空) になります。
DynaActionForm を使用する主な利点の 1 つは、非常に少ないコードを記述するだけで済むことです。他のフォームと同様に、前述のコード例は、フォームを使用するために必要なすべてのコードです。知っておくべきことの 1 つは検証です。 DynaActionFormを利用する場合は、ActionFormとは少し異なり、どこかで検証処理が行われることが前提となります。独自のアクションに検証を実装することもできますが、これはより良いアプローチです。
検証には、DynaValidatorForm または DynaValidatorActionForm を使用できます。どちらのクラスも org.apache.struts.validator パッケージに含まれています。 DynaActionForm を拡張することで、XML ファイルの基本値フィールドに基づいて検証を行うことができます。検証はバリデーターに入力されたキーに基づいて行われます。キーは、struts-config.xml ファイルの name 属性です。これは、validation.xml ファイルの form 要素の name 属性と一致する必要があります。
複数のアプリケーションのサポート
Struts 1.1では、複数のサブアプリケーションを定義してサポートできます。これは、アプリケーションをより保守しやすいサブアプリケーションに配置できることを意味します。単一の struts-config.xml ファイルの外部でソース管理を検出する必要はなくなりました。
サブアプリケーションを使用するもう 1 つの理由は、クライアントに基づいて制御フローを変更することです。一部のアプリケーションでは、いくつかの共通ページがある場合がありますが、アプリケーションにログインするクライアントに応じて制御フローが変わる場合があります。この制御フローのメタデータをデータベースに保存し、別の struts-config.xml ファイルとともに web.xml ファイル (またはその一部) を生成できます。
Struts 1.x 向けに開発したことがある方は、web.xml ファイル内の多くの要素が Struts 1.1 の struts-config.xml ファイルに移動されていることに気付いたかもしれません。これは、それらがアプリケーション固有になっているためです。複数のサブアプリケーションは、リクエスト URI の相対コンテキスト部分で始まるプレフィックスによって識別されます。一致するアプリケーション プレフィックスがない場合は、デフォルトの構成が選択されます。デフォルト設定には空の文字列プレフィックスが付いています。デフォルト設定を実装するこの方法は、アプリケーションを 1 つだけ定義できる Struts 1.0.x と下位互換性があります。
さまざまな機能モジュールを含む大規模なアプリケーションがある場合、1 つの巨大なアプリケーションを一緒に実行されるサブアプリケーションに置き換える方が合理的です。以下に示す web.xml ファイルは、サブアプリケーションを定義する方法を示しています。
config
/WEB-INF/struts-config-config.xml
config/catalog
/WEB-INF/struts-config-catalog.xml
config/sorter
/ WEB-INF/struts-config-sorter.xml
サブアプリケーションを使用する場合、どのサブアプリケーションが使用されるかを指定するためにコンテキスト依存のリクエスト URI を定義できます。たとえば、フォーム上のアクションは、デフォルトのサブアプリケーションを参照する
、またはカタログ サブアプリケーションのアクション クラスを参照する
のようになります。実際にはこれを行う必要はありません。これを行う場合は、カタログ サブアプリケーションで /listCds を使用できます。基本的なルールは次のとおりです。バージョン 1.0 ではコンテキスト依存だったすべての struts-config.xml パラメーターは、バージョン 1.1 ではサブアプリケーションのプレフィックス固有になります。このようにして、単一のアプリケーションを変更せずにデフォルトのサブアプリケーションと指定されたサブアプリケーションの両方として機能させることができます。
上記は Jakarta Struts 1.1 (2) の学習内容です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

多くのアプリケーションシナリオでソートを実装するために名前を数値に変換するソリューションでは、ユーザーはグループ、特に1つでソートする必要がある場合があります...

システムドッキングでのフィールドマッピング処理は、システムドッキングを実行する際に難しい問題に遭遇することがよくあります。システムのインターフェイスフィールドを効果的にマッピングする方法A ...

intellijideaultimatiateバージョンを使用してスプリングを開始します...

Javaオブジェクトと配列の変換:リスクの詳細な議論と鋳造タイプ変換の正しい方法多くのJava初心者は、オブジェクトのアレイへの変換に遭遇します...

データベース操作にMyBatis-Plusまたはその他のORMフレームワークを使用する場合、エンティティクラスの属性名に基づいてクエリ条件を構築する必要があることがよくあります。あなたが毎回手動で...

Redisキャッシュソリューションは、製品ランキングリストの要件をどのように実現しますか?開発プロセス中に、多くの場合、ランキングの要件に対処する必要があります。

eコマースプラットフォーム上のSKUおよびSPUテーブルの設計の詳細な説明この記事では、eコマースプラットフォームでのSKUとSPUのデータベース設計の問題、特にユーザー定義の販売を扱う方法について説明します。
