5

如果我删除.action我的 Struts2 应用程序中的扩展,我会遇到问题。我把这个放在我的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

我在其中一个应用程序中遇到了同样的问题,我需要在页面加载时调用 Action 来代替index.jsp或调用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>

所以在这种情况下,当我点击这个 URL 时www.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 回答