一个很怪的问题。
控制台异常:
[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的配置:java
<!-- 查询个人便签列表 --> <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声明:
apache
<package name="default" extends="struts-default" namespace="/">
这是jsp页面form表单调用Action的代码:用的是绝对路径
app
<form name="form1" method="post" action="${basepath}addMynoteAction.action">
配置文件中写的都同样,只是name不同,页面调用的方法都同样,全部页面也在同一个文件夹下,但是根本就找不到调用的这个Action,写的是绝对路径啊,除了增长(addMynoteAction),其余功能都没问题。jsp
我把struts.xml文件中namespace="/"属性去掉后,就不报404错误了,全部功能都实现了,但是。。增长成功返回到列表页面时,图片都显示不出来了。。其余功能删除修改等完成后返回列表图片都正常啊。页面图片用的都是绝对路径。post
后来我又把namespace="/"加上,发现别的页面调用这个addMynoteAction都没问题,惟独这个页面调用哪一个Action都错误,我又从新建了新页面,忘记了删除jsp页面开头的spa
<base href="<%=basePath%>">,居然不报错了,我习惯新建页面后把这句删了,由于之前作项目时,加上这句就code
错。orm
虽然项目不报错了,但是我仍是不明白,别的页面、修改查询等页面都没有这句<base href="<%=basePath%>">,我习惯都用绝对路径,但是为何别的页面没有这句就不报错,惟独这个增长xml
数据的页面没有这句就报错?这个模块全部页面都在一个文件夹里同一路径下。图片