404错误: Could not find action or result

xqqing79 2011-10-20 03:33:51
一个很怪的问题。

控制台异常: [org.apache.struts2.dispatcher.Dispatcher]-[WARN] Could not find action or result
There is no Action mapped for namespace /jsp/schedule and action name addMynoteAction. - [unknown location]


这是struts.xml文件Action的配置:

<!-- 查询我的便签列表 -->
<action name="findMynoteListAction" class="mynoteAction" method="findMynoteList">
<result name="success" >/jsp/schedule/myNoteList.jsp</result>
</action>


<!-- 添加便签【只有这个Action找不到】 -->
<action name="addMynoteAction" class="mynoteAction" method="addMynote">
<result type="redirectAction">findMynoteListAction</result>
<result name="input">/jsp/schedule/myNoteAdd.jsp</result>
</action>

<!-- 删除便签 -->
<action name="deleteMynoteAction" class="mynoteAction" method="deleteMynote">
<result type="redirectAction" >findMynoteListAction</result>
</action>

<!-- 根据ID查询便签 -->
<action name="findMynoteByIdAction" class="mynoteAction" method="findMynoteById">
<result name="success" >/jsp/schedule/myNoteUpdate.jsp</result>
<result name="error" type="redirectAction">findMynoteListAction</result>
</action>

<!-- 更新便签 -->
<action name="updateMynoteAction" class="mynoteAction" method="updateMynote">
<result name="success" type="redirectAction">findMynoteListAction</result>
<result name="input" type="redirectAction" >findMynoteByIdAction</result>
</action>


这是struts.xml文件package声明:
<package name="default" extends="struts-default" namespace="/">


这是jsp页面调用Action的代码:
<form name="form1" method="post" action="${basepath}addMynoteAction.action">


------------------------------------------------------------------------


配置文件中写的都一样,只是name不一样,页面调用的方法都一样,可是根本就找不到调用的这个Action,写的是绝对路径啊,除了增加,其他功能都没问题。

我把struts.xml文件中namespace="/"属性去掉后,就不报404错误了,所有功能都实现了,可是。。增加成功返回到列表页面时,图片都显示不出来了。。其他功能删除修改等完成后返回列表图片都正常啊。页面图片用的都是绝对路径。这到底是怎么回事啊?






...全文
275 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqqing79 2011-10-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 magong 的回复:]楼主可以查查这个页面中的basepath有没有问题[/Quote]

我在开头加上了<base href="<%=basePath%>">,然后就好了。。别的页面我总是都删了,没出现问题,单单这个页面必须加上。

我无语的只能保持沉默了。。。
magong 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xqqing79 的回复:]

可是为什么啊?这个Action和其他Action没什么区别啊?
[/Quote]
2楼说过了。
这和你从哪个页面访问本Action有关。

从/jsp/schedule 目录中的jsp页面中访问addMynoteAction的话,系统就去找/jsp/schedule/addMynoteAction
xqqing79 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 magong 的回复:]

引用楼主 xqqing79 的回复:
一个很怪的问题。

控制台异常: [org.apache.struts2.dispatcher.Dispatcher]-[WARN] Could not find action or result
There is no Action mapped for namespace /jsp/schedule and action name addMyno……
[/Quote]

可是为什么啊?这个Action和其他Action没什么区别啊?
zgh_mnb 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yipinlongzu 的回复:]
namespace是命名空间的问题,统一上面观点,把次action单放在一个namesppace中
[/Quote]
同意
zxf5115 2011-10-20
  • 打赏
  • 举报
回复
学习~\(≧▽≦)/~啦啦啦
magong 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 xqqing79 的回复:]
这是jsp页面调用Action的代码:
<form name="form1" method="post" action="${basepath}addMynoteAction.action">
[/Quote]
[Quote=引用 7 楼 xqqing79 的回复:]

这个模块的所有页面都在同一个文件夹下,路径都一样,而且页面表单提交的是绝对路径,系统不会到/jsp/schedule/下找,是从根目录下直接找addMynoteAction。

[/Quote]
楼主可以查查这个页面中的basepath有没有问题。
yipinlongzu 2011-10-20
  • 打赏
  • 举报
回复
namespace是命名空间的问题,统一上面观点,把次action单放在一个namesppace中
magong 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 xqqing79 的回复:]
一个很怪的问题。

控制台异常: [org.apache.struts2.dispatcher.Dispatcher]-[WARN] Could not find action or result
There is no Action mapped for namespace /jsp/schedule and action name addMynoteAction. - [unknown ……

<!-- 添加便签【只有这个Action找不到】 -->
[/Quote]
这和你从哪个页面访问本Action有关。
楼主不要修改default package的namespace。可以另建一个package,设其namespace为/jsp/schedule(或其他合适的值),然后把addMynoteAction放在此package中。
magong 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 xqqing79 的回复:]
一个很怪的问题。

控制台异常: [org.apache.struts2.dispatcher.Dispatcher]-[WARN] Could not find action or result
There is no Action mapped for namespace /jsp/schedule and action name addMynoteAction. - [unknown ……

<!-- 添加便签【只有这个Action找不到】 -->
[/Quote]
这和你从哪个页面访问该Action有关。
default package的namespace不要改。
楼主可以另建一个package,设namespace为/jsp/schedule(或其他正确的值),然后把addMynoteAction放进去。
xqqing79 2011-10-20
  • 打赏
  • 举报
回复
这个模块的所有页面都在同一个文件夹下,路径都一样,而且页面表单提交的是绝对路径,系统不会到/jsp/schedule/下找,是从根目录下直接找addMynoteAction。
[Quote=引用 6 楼 magong 的回复:]

引用 5 楼 xqqing79 的回复:

可是为什么啊?这个Action和其他Action没什么区别啊?

2楼说过了。
这和你从哪个页面访问本Action有关。

从/jsp/schedule 目录中的jsp页面中访问addMynoteAction的话,系统就去找/jsp/schedule/addMynoteAction
[/Quote]

81,091

社区成员

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

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