2011-01-25 10 views
3

すべてのアクションクラスをstruts.xmlにリストする必要がありますか? struts2フレームワークがstruts.xmlにリストされていない場合、アクションクラスを認識できますか?すべてのアクションクラスをstruts.xmlにリストする必要があります

背景:私は比較的ストラットに対して新しく、いくつかのstruts2コードをクリーンアップするように求められています。 struts2.xml、jspまたはjavascriptで参照されないクラスがいくつかあります(私は文字列検索を行いました)。私はこれらを取り除くことができるかどうか疑問に思っていた。

編集:これらのクラスが他のJavaクラス/ライブラリでは使用されていないことは確かです。それは私が不思議に思っていたストラットの部分です。

+1

新しいプロジェクトを継承すると、何の収差を見つけるのか分かりません。何か変わったときは、何かを壊していないことを確認するためにテストするべきです。 –

答えて

4

、次の4つの可能性のうちの1つを満たしている必要があります。

  1. は、クラスは、クラスが注釈されているstruts.xml
  2. に記載されていストラット注釈
  3. とクラスは別のアクションクラスによって継承され
  4. あなたのプロジェクト
@Christinaで述べたように、従来のプラグインを使用しています

あなたが見ているクラスがstruts.xmlにない場合、注釈が付けられておらず、プロジェクトの他の場所では参照されておらず、プロジェクトにコンベンションプラグインが含まれていない場合は、行かなくてはなりません。

他の唯一の問題は、他の* .xmlファイルを探すことです。 struts.xmlは、他のXMLファイルをXMLファイルに含めることができるため、このクラスの実際の動作設定は別のXMLファイルに存在する可能性があります。

0

はい、そうでなければなりません。それは受け入れられた正しい習慣です。

0

アクションクラスがstruts.xmlにリストされていない場合、それはアプリケーションによって必須ではないことを意味しません。クラスがstruts.xmlにリストされていないため、クラスを削除することはできません。他のクラスによって内部的に使用されている可能性があります。ウェブアクションとして自分の意図した形で使用するためには

3

いいえ、すべてのStruts2アクションをxmlファイルで宣言する必要はありません。大会プラグインを使用している場合、Struts2フレームワークは、struts、struts2という名前のパッケージに含まれるすべてのクラス、またはcom.opensymphony.xwork2.Actionを実装するアクション、またはActionで終わる名前を認識します。もちろん、大会のプラグインは他のクラスも認識するように設定することができます。 Conventionプラグインの動作の詳細については、こちら(http://struts.apache.org/2.1.6/docs/convention-plugin.html)を参照してください。

関連する問題