11

私はStruts2の初心者です。私はStruts Webサイトのチュートリアルに従うことにしています。私はこのチュートリアルに従いました。私はそれでいくつかの問題を抱えています。私はEclipseで動的Webプロジェクトを作成しました。次に、チュートリアルに従いました。ただし、例を実行すると、次のエラーが発生します。

There is no Action mapped for namespace [/] and action name [hello] associated with context path [/Hello_World_Struts_2]. - [unknown location]

私は次のディレクトリ構造を持っています

ここに画像の説明を入力

そして、私の struts.xml ファイルは

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

  <constant name="struts.devMode" value="true" />

  <package name="basicstruts2" extends="struts-default" namespace="/">

  <action name="index">
    <result>/index.jsp</result>
  </action>

  <action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
    <result name="SUCCESS">/HelloWorld.jsp</result>
  </action>

</package>

</struts>

ご回答ありがとうございます。

4

7 に答える 7

18

設定ファイルはstruts.xmlクラスパス上にある必要があります ( ではなくWEB-INF)。

リンクされたチュートリアルでは、Maven ビルドを想定しており、Maven ビルドのクラスパスに含まれる にstruts.xmlファイルを入れる必要があると述べています。src/main/resourcesその部分は無視しているので、ソース ディレクトリのルートに配置することをお勧めします。

于 2012-01-24T18:11:59.473 に答える
3

classes/下にフォルダーを作成して、ファイルWEB-INF/に入れる必要があります。struts.xml

于 2012-09-23T22:17:34.347 に答える
1

たとえば、 default-action-ref タグを追加して問題を解決しました。

<default-action-ref name="home" />

パッケージタグの後

struts.xml で

<package name="user" namespace="/" extends="struts-default">

<default-action-ref name="upload" />
于 2013-09-22T06:17:31.743 に答える
0

私は同じ問題を抱えていましたが、struts.xml で名前空間が正しく言及されていなかったため、それに直面していました。

web.xml に次のスニペットを追加しました。

<welcome-file>login.jsp</welcome-file>

また、名前空間を「/」のデフォルトにします...それがあなたの質問に答えてくれることを願っています..

于 2014-10-01T10:18:43.550 に答える
-1

私の場合、名前を変更する必要がありましたStruts.xml--->struts.xml

于 2015-01-24T21:02:30.670 に答える