Struts 2 - 没有映射名称空间[/]的动作和与上下文路径[/ LoginApplication]相关联的动作名称[validateLogin]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts 2 - 没有映射名称空间[/]的动作和与上下文路径[/ LoginApplication]相关联的动作名称[validateLogin]相关的知识,希望对你有一定的参考价值。

我尝试了互联网上所有可能的解决方案。

错误:

HTTP Status 404 - There is no Action mapped for namespace [/] and action name [validateLogin] associated with context path [/LoginApplication].

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="hello" extends="struts-default">

      <action name="validateLogin" 
            class="com.example.login.ValidationAction"
            method="execute">
            <result name="success">/result.jsp</result>
      </action>
   </package>
</struts>

的index.jsp

<form action="validateLogin">
        <table>
            <tr>
                <td><label for="username">Username</label></td><td><input type="text" name="username"></td>
            </tr>
            <tr>
                <td><label for="password">Password</label></td><td><input type="password" name="password"></td>
            </tr>
            <tr>
                <td colspan="2"><input type="submit" value="Login"></td>
            </tr>
        </table>
    </form>
答案

我的问题的解决方案有点奇怪。

我刚刚从struts.xml文件中删除了<constant name="struts.devMode" value="true" />

并且程序开始正常运行...然后我将相同的代码再次放回struts.xml文件中,它仍在运行....

另一答案

当错误地打包包结构时,会出现此错误。

如果在正确的包下创建了web.xml文件和struts.xml文件,则两个XML文件将自动反映在Netbeans中的配置文件文件夹结构下。

请参考screenshot

以上是关于Struts 2 - 没有映射名称空间[/]的动作和与上下文路径[/ LoginApplication]相关联的动作名称[validateLogin]的主要内容,如果未能解决你的问题,请参考以下文章

命名空间[/]和与上下文路径[/ projectName]关联的操作名称[actionName]没有映射。

Tomcat在URL中添加[/],Struts无法获取正确的动作名称?

Struts:action配置文件之通配符映射

Struts2学习第七课 通配符映射

Struts2注解

ActionMapper类在struts 2中的作用是什么