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

2024-08-30 07:48

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120215

相关文章

Unable to instantiate Action, goodsTypeAction, defined for 'goodsType_findAdvanced' in namespace '/

报错: Unable to instantiate Action, goodsTypeAction,  defined for 'goodsType_findAdvanced' in namespace '/'goodsTypeAction......... Caused by: java.lang.ClassNotFoundException: goodsTypeAction.......

org.hibernate.hql.ast.QuerySyntaxException:is not mapped 异常总结

org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select u from User u where u.userName=:userName and u.password=:password] 上面的异常的抛出主要有几个方面:1、最容易想到的,就是你的from是实体类而不是表名,这个应该大家都知道,注意

用ajax json给后台action传数据要注意的问题

必须要有get和set方法   1 action中定义bean变量,注意写get和set方法 2 js中写ajax方法,传json类型数据 3 配置action在struts2中

使用http-request 属性替代action绑定上传URL

在 Element UI 的 <el-upload> 组件中,如果你需要为上传的 HTTP 请求添加自定义的请求头(例如,为了通过身份验证或满足服务器端的特定要求),你不能直接在 <el-upload> 组件的属性中设置这些请求头。但是,你可以通过 http-request 属性来自定义上传的行为,包括设置请求头。 http-request 属性允许你完全控制上传的行为,包括如何构建请求、发送请

context:component-scan使用说明!

<!-- 使用annotation 自动注册bean, 并保证@Required、@Autowired的属性被注入 --> <context:component-scan base-package="com.yuanls"/> 在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controll

React的context学习总结

context是干什么的?为什么会存在这么一个东西? context字面意思是上下文,在react中存在是为了解决深层次组件传值困难的问题 这里涉及到组件的传值问题,大体商说分三总:兄弟间传值(通过父组件),父往子传值(通过props),子往父传(props函数回调),这是基础的传值问题,但是如果组件嵌套的太深,那么传值就变的非常麻烦,为了解决这样的问题才产生了context  这是cont

大话C++:第6篇 命名空间namespace作用域

1 命名空间概述 在一个大型的软件项目中,可能会有许多不同的代码文件,这些文件可能由不同的开发者编写,或者来自不同的库和模块。如果这些代码文件中存在同名的变量、函数、类或其他标识符,那么在编译或运行时就可能发生命名冲突,导致程序无法正确执行。 通过使用命名空间(namespace),开发者可以将相关的代码、变量、函数等组织在一起,形成一个独立的命名空间。这样,即使不同的代码片段中使用了相同的标

兔子--The method setLatestEventInfo(Context, CharSequence, CharSequence, PendingIntent) from the type

notification.setLatestEventInfo(context, title, message, pendingIntent);     不建议使用 低于API Level 11版本,也就是Android 2.3.3以下的系统中,setLatestEventInfo()函数是唯一的实现方法。  Intent  intent = new Intent(

Flink整合Oozie Shell Action 提交任务带Kerberos认证

最近这段时间一直在忙新集群迁移,上了最新的cdh6.3.0 于是Flink 提交遇到了许多的问题,还好有cloudera License 有了原厂的帮助和社区的伙伴,问题解决起来快了不少。 集群具体情况是 CDH6.3.0 Flink1.8.1,整个数据平台全部组件都上了kerberos和ldap因为要过认证,所以任务提交方法我们选择统一Oozie提交任务,并且因为kerberos认证,还需要F

Servlet mapping specifies an unknown servlet name Action

看一下web.xml中<servlet-mapping>有没有配错