在Google App Engine中运行的Struts 2中的欢迎消息

时间:2012-05-03 23:16:04

标签: google-app-engine struts2 action-mapping

我在web.xml中有以下几行

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

但是当我访问http://localhost:8888时,我收到了以下错误:

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

是不是要重定向到index.jsp?如何使欢迎文件工作?

4 个答案:

答案 0 :(得分:1)

运行服务器后,它正在搜索一个动作。 您应该在struts.xml中有一个映射到jsp文件的操作

还在web.xml

中添加以下内容
 <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
       org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
  </filter>
  <filter-mapping>
     <filter-name>struts2</filter-name>
     <url-pattern>/*</url-pattern>
  </filter-mapping>

答案 1 :(得分:0)

我认为您已正确配置欢迎文件。该错误消息看起来像一个struts错误消息。看起来你有一个struts配置问题。检查struts.xml文件中的操作类配置。

答案 2 :(得分:0)

请修改struts.xml并将此操作作为最后一项操作输入(仅在所有操作都作为默认操作后)。

<action name="*">
    <result type="redirectAction">
    <param name="actionName">Home.action</param>
    </result>
</action>

现在这必须是最后一个操作,它将像您的应用程序的默认操作一样工作。如果找不到任何已配置的操作,您的应用程序将被重定向到此操作。

答案 3 :(得分:0)

将以下空白操作添加到“/”包命名空间中的struts.xml文件中,当您只尝试访问您的网址(如appid.app.com)时,它将显示index.html,它将不会显示错误。通常它会添加一个空白操作,应用程序引擎会将空白操作重定向到您的欢迎文件。

    <action name="" class="com.candi.actions.Dashboard" method="noAction">
        <result name="success">index.jsp</result>
    </action>

进一步解释。只需添加空白操作,方法是提供空白“”作为您的操作名称,并将结果重定向到index.php,这将解决您的问题。