本文主要是介绍There is no Action mapped for namespace [/] and action name [] associated with context p --gxy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先的批评自己,做了两年多的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路劲下看看具体的地址:
请各路大神原谅我抬头说的话,这是我的总结,如果有什么指导的请评论见,谢谢!
我的座右铭:不学不足于立世
这篇关于There is no Action mapped for namespace [/] and action name [] associated with context p --gxy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!