There is no Action mapped for namespace [/] and action name [] associated with context p

来源:互联网 发布:音效增强软件下载 编辑:程序博客网 时间:2024/06/17 15:16
首先的批评自己,做了两年多的struts2自以为是,以为没有什么可以难为到我了。我再此认错!最近用Maven+stuts2+hibernate4+spring4做一个简单的项目,在搭建项目测试的时候就出问题了。实在是坑爹了。一直报:There is no Action mapped for namespace [/] and action name [] associated with context p因为使用的纯注解+约定开发,几乎是零配置(简单配置还是要的。)所以并没有在stuts2文件里面配置任何的action啊,这些司空见惯的配置。因为我不喜欢配置这些,像现在的公司,功能这么多,光看配置文件就头晕目眩,美其名曰好维护。我觉得这根本就是浪费劳动力,已经有action,你要好维护的话只要加个注释这就可以完胜配置文件了。也有人说你那个约定开发被限制死了,我就笑了。有本事你自己开发一个框架啊,本来人就生活在约定中。而且约定开发限定的是基本规则,这东西你就算自己写的天花龙凤难道还能影响到用户看见的美观吗?你那个是给你自己看的。废话不多说了,以上纯属个人观点。我写在自己博客,自己开心爱怎么写怎么写。你们看不惯就不要看。直接看下面经验吧。首先既然用了约定开发,自然引进了struts2的规范包
<dependency>            <groupId>org.apache.struts</groupId>            <artifactId>struts2-convention-plugin</artifactId>            <version>2.3.4.1</version>        </dependency>

这东西第一次用,没怎么在意过他。而且以前都是别人搭建项目,我搭的都是很原始的。怪自己能力不够吧。

这次我用上了。配置文件请注意:

Convention插件配置

struts.convention.result.path=/business/
struts.convention.package.locators=business,xwork

这里是表示business或xwork开始的action类或者子包下的action类。
所以对应的访问地址就需要从这里开始。
如我的包路劲是这样的:
这里写图片描述
那我对应的访问路劲是这样的:
这里写图片描述

因为我指定了返回值的路劲是/business/
因此返回值的jsp是需要放在:
这里写图片描述

需要说明的是,因为我是第一次用maven,原来src/main/webapp的路劲就是我们普通web路劲的工程目录下,跟web-inf同级。因此定义返回值路径的时候要注意,去tomcat路劲下看看具体的地址:
这里写图片描述

请各路大神原谅我抬头说的话,这是我的总结,如果有什么指导的请评论见,谢谢!

                                                        我的座右铭:不学不足于立世
阅读全文
0 0
原创粉丝点击