2009-05-15 20 views
14

Struts2ではクラスパスにstruts.xmlがなければなりません。そのため、WEB-INFの下に置くことはできません。どこにstruts.xmlを入れますか

  1. 私が再構築ないとき、それ がstruts.xmlを削除しますので、Eclipseは、クラスフォルダがクリーンアップ:だから私は展開する私のプロジェクトを得た方法はWEB-INF/classesの下でそれを固執し、それが../struts2.xml

    2の問題点を含ん持っていました

  2. Eclipseはプロジェクトブラウザのclassesフォルダを表示しないので、 最初の場所に設定ファイルを貼り付けるのが難しい場所です。

どうやってStruts2 Eclipse開発者はこれをやっていますか?

+0

C:\ユーザー342008 \デスクトップ\ strus-structure.jpgその方法をしている間、私は404エラーを取得しています – jcrshankar

答えて

13

ソースディレクトリのルートにstruts.xmlを置くことも、追加のリソースソースディレクトリを設定してそこに置くこともできます。 Eclipseはコンパイル時にWEB-INF/classesにあなたを喜んでコピーします。

+0

\ !!!!私はtomcat6を使用しています。それがどうして起こるのか教えていただけますか? – Visruth

0

私はEclipseを使用していないので、この回答はあなたの必要条件に固有のものではありませんが、私はMavenを使ってアプリケーションが必要とするすべての "リソース"を "resources"という別個のフォルダに持っています。これらのファイルは自動的に適切な場所にコピーされます。 Netbeansでは、フォルダ内のファイルが利用可能であり、同様の設定でEclipseを使用する人がいることを知っています。

私たちのプロジェクトはappfuseから始まりましたので、これらの設定のほとんどは事前に作成されていたことを指摘しておきます。あなたはそれがそこで行われた方法を見ることができます。

0

struts 2プロジェクトでは、struts.xmlファイルがsrc(Java Resources)フォルダにパッケージおよびライブラリと共に追加されます。

下記の画像を参考にしてください。 uは支柱についての詳細をお知りになりたい場合は

Struts 2 project directory view in eclipse

2プロジェクトの構造はthis link

をご覧ください:日食では、srcフォルダ内のファイルを直接貼り付けることが許可されていません。そのため、まずプロジェクト内の他の場所(「WebContent」フォルダなど)に貼り付け、次に移動機能を使用して適切な場所(「src」フォルダ)に配置する必要があります。

+0

どこにstruts.xmlがありますか? – Visruth

+0

そのようにしてみました。しかし、私は404エラーを取得しています。技術的なチャットはできますか?はいの場合はhttp://visruthcv.appspot.com/にアクセスしてください – Visruth

0

src(Java Resources)パッケージにstruts.xmlファイルを置くことができます。 コンパイルプロセスのstruts.xmlファイルがROOT/WEB-INF/classesディレクトリ内に生成されるとき。

同じエラーが発生した場合は、再度strutsの動作を確認してください。 アプリケーションの展開されたパスを確認すると、必要なものを見つけることができます。 (struts.xmlファイル)

2

私は遅れています。ウェブアプリケーションのクラスパス内の任意のディレクトリにstruts.xmlを設定できますが、フィルタの「config」initパラメータを使用して場所を指定できます私のstruts.xmlファイルが "/ com/resources /"ディレクトリにある場合は、以下のようにweb.xmlの中で設定します。

<filter> 
     <filter-name>action</filter-name> 
     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
     <init-param> 
      <param-name>config</param-name> 
      <param-value>struts-default.xml,struts-plugin.xml,/com/resources/struts.xml</param-value> 
     </init-param> 
    </filter> 

私たちは、デフォルトで設定初期化パラメータStruts2のを提供していない場合は3つの値をとるが、「ストラット-default.xmlのを、struts.xml-plugin.xmlの支柱」、あなたは以下のStruts2のディスパッチャクラスコードを見ることができますこれら3つのファイルを構成マネージャーに構成します。

String configPaths = (String)this.initParams.get("config"); 
if (configPaths == null) { 
    configPaths = "struts-default.xml,struts-plugin.xml,struts.xml"; 
} 
String[] files = configPaths.split("\\s*[,]\\s*"); 
for (String file : files) 
    if (file.endsWith(".xml")) { 
    if ("xwork.xml".equals(file)) 
     this.configurationManager.addContainerProvider(createXmlConfigurationProvider(file, false)); 
    else 
     this.configurationManager.addContainerProvider(createStrutsXmlConfigurationProvider(file, false, this.servletContext)); 
    } 
関連する問題