【问题标题】:Struts.xml vs. struts.xmlStruts.xml 与 struts.xml
【发布时间】:2015-05-22 19:50:21
【问题描述】:

我是 Struts2 的新手,我正在做一个可以帮助我学习的简单项目。我从Struts.xml 文件开始,S 大写。当我运行它时,我得到了我的网页,其中包含几个字段和一个提交按钮。当我填写它们并单击提交时,我收到一个 404 错误:

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

我做了一些研究,发现一个建议将Struts.xml 更改为struts.xml,只需将s 从小写更改为大写即可。当我这样做并运行我的项目时,我什至不再进入我的第一页。我刚刚收到 404 错误,因为它正在尝试查找我的 index.jsp。关于为什么将 struts.xml 更改为小写会导致比它修复的问题更多的任何想法?
我的struts.xml 文件位于WebContent/WEB-INF/classes。我的index.jspWebContent 下。

这是我的struts.xml 代码

<strtus>
    <constant name="struts.devMode" value="true" />
    <package name="default" extends="struts-default">
        <action name="MyAction"
            class="com.Foo.MyAction"
            method="execute">
            <result name="success">/showTable.jsp</result>
        </action>
    </package>
</strtus>

【问题讨论】:

  • 发布你的struts.xml,你有什么错误吗?
  • 您可以在后端日志文件中发布您面临的错误吗?
  • 我怎么看这些?

标签: struts2 action-mapping


【解决方案1】:

您的 struts.xml 文件应该在 src 文件夹中。 因此,将文件位置更改为 ProjectName/src,文件名为 struts.xml 而不是 Struts.xml。

谢谢, 阿米特库马尔

【讨论】:

  • 令人惊讶的是这有效。我的程序松散地基于link 的教程,该教程建议将文件放在我做的地方。这篇文章解释说,至少在我理解的情况下不应该有真正的区别。 link.
  • @SarahLaMont 这一点也不奇怪; struts.xml 文件应该位于类路径的根目录下。在 Maven 项目中,它应该位于 src/main/resources 中。如果您不使用 Maven 或其等效项,src 目录就足够了,但是处理任何具有大量依赖项而没有处理依赖项管理的 Java 应用程序将很快变得不支持。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-26
  • 1970-01-01
相关资源
最近更新 更多