5

.actionStruts2 アプリケーション内の拡張機能を削除すると問題が発生します。私はこれを私の中に入れましたstruts.xml:

<constant
    name="struts.action.extension"
    value="" />

アプリケーションは、インデックス ページを除いて正しく動作します。私はweb.xmlこれを持っています:

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

にアクセスするとhttp://localhost/myApp/、次のエラーが表示されます。

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

ただし、にアクセスするとhttp://localhost/myApp/fooAction、エラーは発生せず、完全に機能します。

空でない拡張子 ( など"html") の拡張子を変更すると、 にアクセスすると完全にインデックス ページが表示されhttp://localhost/myApp/ます。

それで、私がしていることに何か問題がありますか?拡張機能を削除すると、このエラーが発生するのはなぜですか? 取得しない方法はありますか?

編集:エラーにアクションを入れる<welcome-page>と、次のようになります。

There is no Action mapped for namespace [/] and action name [] 
associated with context path [/myApp].
4

2 に答える 2

8

index.jspの代わりに、またはページの読み込み時にアクションを呼び出す必要があるアプリケーションの1つで同じ問題が発生してwelcom.jspいまし<welcome-page>た。次の手順を実行しました

次のエントリを web.xml に配置しました。

 <welcome-file-list>
            <welcome-file>index</welcome-file>
</welcome-file-list>

web-app フォルダーに名前の空のファイルを作成し、index最終的に次のエントリを struts.xml ファイルに配置しました

<action name="index" class="welcomeAction">
     <result>/ab.jsp</result>
 </action>

したがって、この場合、この URLwww.myapp.com/myAppにアクセスすると、Struts2 のインデックス アクションが呼び出され、ウェルカム ページのすべての初期化作業を行うことができました。

于 2012-08-23T11:05:15.300 に答える
2

私は同じ問題を抱えていましたが、解決しました!!!!
あなたが使用する場合

<constant name="struts.action.extension" value=""/> 

struts.xml
にウェルカム ファイルを次のように配置します。

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

web.xml
で、次のように struts.xml でアクションを指定します。

<package name="default" extends="struts-default">
    <action name="index.jsp">
        <result>WEB-INF/login.jsp</result>
    </action>
</package>
于 2013-02-28T20:31:30.667 に答える