Struts2中关于"There is no Action mapped for namespace / and action name"的总结

 今天在调试一个基础的Struts2框架小程序。总是提示"There is no Action mapped for namespace / and action name"的错误。上网查询后发现这是一个初学者经常碰到的问题,导致错误的原因主要有两种。总结如下:

      一、struts.xml文件错误。这种错误又分为以下几种:1,struts.xml文件名错误。一定要注意拼写问题;2,struts.xml文件放置路径错误。一定要将此文件放置在src目录下。编译成功后,要确认是否编译到classes目录中;3,struts.xml文件内容错误。下面给出一个正确的struts.xml文件以供参考。注意背景色部分。

Struts2中关于"There is no Action mapped for namespace / and action name"的总结
<?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>
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.wanggc.struts2.sample.Struts2Action">
<result name="success">/jsp/result.jsp</result>
</action>
</package>
</struts>
Struts2中关于"There is no Action mapped for namespace / and action name"的总结

 

      二、如果排除了struts.xml文件的问题,还有一种可能就是,在web.xml文件中的<welcome-file>信息中是否配置了自己工程的启动页面。如果没有配置,地址栏中要输入完成的url,如:http://localhost:8080/Struts2Sample/jsp/login.jsp,如果已配置,地址栏中要输入项目的url,如:http://localhost:8080/Struts2Sample后面的资源详细信息不输入的时候也会报这个错误,这种问题初学者时常遇到。

若转载请注明出处!若有疑问,请回复交流!
上一篇:无法解析类型 javax.servlet.http.HttpServletRequest。从必需的 .class 文件间接引用


下一篇:ThreadLocal的设计与使用(原理篇)