解决 No result defined for action ……及Action层出现的struts的bug
2012-04-25 15:55
405 查看
今天遇到一个特别奇怪的问题,明明在Action中配好了result,在Action中也写好返回值,二者一样,但页面总报找不到Aciton和result的错误,上网查了查,
有的说类名与struts本身冲突的,有说提交的表单与model的属性没对应上的,我全检查一了遍,没问题,潜心研究,原来是strtusr的一个bug.
<default-action-ref name="main_show"></default-action-ref>
<action name="main_show" class="com.ivms.maintenancemanage.action.MaintenanceAction" method="listShow">
<result>/maintenancemanage/main_show.jsp</result>
</action>
<action name="maintenanceAction" class="com.ivms.maintenancemanage.action.MaintenanceAction">
<result name="add_success" >/maintenancemanage/add_success.jsp</result>
</action>
如上,代码的本意是调用main_show的Action时,去Action中调用listShow这个方法,然后,对于此Action中的其他方法,采用动态调用就可以了。
但是,我在调用add方法之后,struts却去上面那个Action标签中寻找了Result,当然就没有找到了。我把result放在上面时,发现就没问题了。
解决方法就很多了,我就采用简单的方法:
<default-action-ref name="maintenanceAction"></default-action-ref>
<action name="maintenanceAction" class="com.ivms.maintenancemanage.action.MaintenanceAction">
<!-- 执行Execute方法,显示首页 -->
<result>/maintenancemanage/main_show.jsp</result>
<result name="add_success" >/maintenancemanage/add_success.jsp</result>
</action>
就可以了。。。。。
顺便说一个前两天发现的struts中的bug:
当在action层中写普通方法时,一定要记住,不要写成getXXX,否则,struts会认为这是get,set方法中的一部分。从而在有表单提交时,也会走此方法,这样,就很有可能产生未知的错误。即:没打算执行的方法被莫名其妙的执行了。
有的说类名与struts本身冲突的,有说提交的表单与model的属性没对应上的,我全检查一了遍,没问题,潜心研究,原来是strtusr的一个bug.
<default-action-ref name="main_show"></default-action-ref>
<action name="main_show" class="com.ivms.maintenancemanage.action.MaintenanceAction" method="listShow">
<result>/maintenancemanage/main_show.jsp</result>
</action>
<action name="maintenanceAction" class="com.ivms.maintenancemanage.action.MaintenanceAction">
<result name="add_success" >/maintenancemanage/add_success.jsp</result>
</action>
如上,代码的本意是调用main_show的Action时,去Action中调用listShow这个方法,然后,对于此Action中的其他方法,采用动态调用就可以了。
但是,我在调用add方法之后,struts却去上面那个Action标签中寻找了Result,当然就没有找到了。我把result放在上面时,发现就没问题了。
解决方法就很多了,我就采用简单的方法:
<default-action-ref name="maintenanceAction"></default-action-ref>
<action name="maintenanceAction" class="com.ivms.maintenancemanage.action.MaintenanceAction">
<!-- 执行Execute方法,显示首页 -->
<result>/maintenancemanage/main_show.jsp</result>
<result name="add_success" >/maintenancemanage/add_success.jsp</result>
</action>
就可以了。。。。。
顺便说一个前两天发现的struts中的bug:
当在action层中写普通方法时,一定要记住,不要写成getXXX,否则,struts会认为这是get,set方法中的一部分。从而在有表单提交时,也会走此方法,这样,就很有可能产生未知的错误。即:没打算执行的方法被莫名其妙的执行了。
相关文章推荐
- 解决 No result defined for action ……及Action层出现的struts的bug
- 随机出现“No result defined for action ....Action and result input”解决
- struts2出现No result defined for action。。。。。问题的解决办法
- No result defined for action org.action.StrutsAction and result success之解决
- No result defined for action org.action.StrutsAction and result success之解决
- 随机出现“No result defined for action ....Action and result input”解决
- 上传文件时出现No result defined for action com.xxx.act...
- No result defined for action action.LoginAction and result success 解决
- Struts2——No result defined for action and result input - action错误
- No result defined for action org.OA.web.ScheduleAction and result input(万恶的bug)
- 怪怪的 No result defined for action 错误(解决办法)
- struts---No result defined for action org.crazyit.app.action.LoginAction and result error
- 关于No result defined for action com.gen.action.FrontAction and result input解决方法
- HTTP Status 404 - No result defined for action EmployeeAction and result input - struts2类似异常解决及原因剖析
- struts2整合json出现no result type defined for type 'json'的解决方法
- 关于Struts2报"No result defined for action +(包名) and result input"的解决方法
- No result defined for action and result问题的解决办法
- 解决 No result defined for action xxxAction and result input
- struts2整合json出现no result type defined for type 'json'的解决方法
- No result defined for action org.strutsOne.web.SumAction and result