实力解决myeclipse struts2 There is no Action mapped for namespace

qq_20935407 2017-07-23 03:42:55
详细讲解:myeclipse 使用struts2出现action not found的问题解决
(版本:struts2.2.1)
一些初学struts2框架的小伙伴们大多在使用动态调用action会遇到这样的错误: There is no Action mapped for namespace / and action name login 的问题。
一、问题分析:找不到action。为什么找不到呢?我刚开始一直在想 jsp中的<form action="user" method="login">与struts.xml中
<action name="user" method="login" class="action.user">是一一对应的没错的。但是为什么就提示我找不到action呢?
然后就是各种检查struts.xml中是不是有语法错误,反复修改action name的值等等。但是还是会出现这个错误。小伙伴们肯定都气哭了,当然我也是。在网上找了无数的方法,依然无法解决。
二、准备篇
myeclipse 10 使用struts2(如果你觉得你的基础配置和struts.xml web.xml 没有问题 请跳过准备篇,直接看第三节

2.1基础配置:第一步为web 项目添加struts2包。这个大家应该都清楚,不懂请自行百度。我贴出实例项目的结构图。


web.xml配置代码,大家注意因为是使用struts2所以,请看我标红的地方的。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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></web-app>
三、真正解决问题
在每次修改了struts.xml文件后,都需要手动clean project一下。然后重启tomcat服务器运行即可。如何clean如下图:
1.如果我们修改了struts.xml中的任何代码(增删改),比如action name的值,从user修改为了user2.

2.接下来就是clean project

3.重启tomcat,运行吧。然后你就会神奇的发现。问题解决了。
四、根本原因
myeclipse 在我们修改完struts.xml文件后,经常出现不会自动编译该文件的行为,从而导致了我们虽然对struts.xml文件进行了保存,但是我们做的修改却没有进行编译,从而导致了我们新加action name 出现找不到对应的action情况。

注意:struts2版本高于2.2.1的朋友,请在struts.xml文件中的<struts>标签下添加 :
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
这一行代码,然后按照我上面的步骤进行操作即可。
不懂可以向我提问哟。







...全文
168 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
李德胜1995 2017-07-23
  • 打赏
  • 举报
回复

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧