strus1关于action方法 疑问

问题描述

以前一直使用struts2 现在公司使用的struts1.2.7 ,在使用时 有个疑问1. struts1 中 的action 方法 是不是只能重写父类Action 的 execute() ?因为在struts2 中可以通过在struts.xml配置action的 method 属性来指定请求的action方法.而在struts1总在 struts-config.xml中,action配置好像没有method方法只有parameter属性, 如果不能配置的话 每个action类只能处理一个请求, 那样是不是需要太多的Action类了 ,这与struts2相比 太麻烦了.在网上搜了一些资料,也不能确定, 希望使用struts1 的 je们能提供帮助. 问题补充:谢谢几位的关注 ,我使用继承 DispatcherAction ,并配置struts-config.xml parameter="mdName", 发现当在Action类中定义 execute(...) 方法时, 当请求mdName方法时,仍执行execute()方法,而不是mdName(..),当去掉execute()方法,可以正确执行 mdName()方法.也就是说struts1,默认对请求执行execute()方法.

解决方案

记得是用DispatchAction,访问时带method=方法名即可
解决方案二:
你可以继承DispatchActon类,这样就可以使用一个Action来处理多个请求了不过要在struts.xml类配置一下。在<action ..... parameter="method">在请求的时候如: xxx.do改为xxx.do?method=方法名即可
解决方案三:
继承DispatchAction,里面写控制方法,请求时加参数和控制方法名称一样就ok了

时间: 2024-10-08 16:56:33

strus1关于action方法 疑问的相关文章

Asp.net Mvc Framework可以在Controller中使用的Url.Action方法

原本的Url.Action方法是利用RouteCollection来实现Url的Routing的. 所以这里用一个扩展方法重现一下 using System.Web.Routing; static public class CUrl { public static string Action(this Controller c, string controller, string action) { RouteValueDictionary rvd = new RouteValueDiction

Struts1.x系列教程(21):使用MappingDispatchAction类调用不同的Action方法

与LookupDispatchAction.DispatchAction不同,MappingDispatchAction类并不通过请求参数来指定动作,而是将一个Struts动作对应于一个Action方法.下面的例子演示了如何使用MappingDispatchAction类来将Struts动作和Action方法相对应. Action类的实现代码: package action; import org.apache.struts.actions.MappingDispatchAction; -- p

Struts1.x系列教程(18):使用DispatchAction类调用多个Action方法

在使用Struts动作时,每一个Action都需要编写一个类,并且要在struts-config.xml进行配置.这对于一个拥有很多Action的Web程序来说,工作量是非常大的.为此,Struts提供了DispatchAction类,这个类允许将一个Action作为一个方法来调用.在Web浏览器中通过请求参数来指定要调用的动作. 虽然DispatchAction类是一个抽象类,但其中却没有一个抽象方法.因此,DisplatchAction的子类不用实现任何DisplatchAction类中的方

yii ajax-yii框架里怎么实现Jquery Ajax方法传值到控制器action方法里

问题描述 yii框架里怎么实现Jquery Ajax方法传值到控制器action方法里 $.ajax({ type:'post', url:"/www/index.php?r=home/CkUser",//地址写什么才是对的 data:{"name":val}, success:function(msg){ alert("正确"); $("#nameinfo").html(msg); }, 解决方案 地址直接写根下的控制器下的

如何让ASP.NET Web API的Action方法在希望的Culture下执行

在今天编辑推荐的<Hello Web API系列教程--Web API与国际化>一文中,作者通过自定义的HttpMessageHandler的方式根据请求的Accep-Language报头设置当前线程UI Culture的方式来解决Localization的问题.如果你对ASP.NET Web API的执行机制有足够了解的话,你会发现实际上有很多种解决方案.不过这些解决方案都不够完美,原因很简单:ASP.NET Web API的整个框架均采用基于Task的并行编程模式,所以每个可扩展组件均可以

java-有两个功能模块,功能基本相同,用两个功能掉一个action方法好还是两个action好

问题描述 有两个功能模块,功能基本相同,用两个功能掉一个action方法好还是两个action好 java的web开发中有两个功能模块,功能基本相同,我是用两个功能掉一个action方法好,还是写两个action各自调用自己的方法好 解决方案 看模块的相关程度和以后要不要扩展了,如果以后可能两个模块可能会有不同程度的扩展,建议还是两个action比较把握,否则到时候在新增,很麻烦的

struts2的action方法-jsp文件名与struts2的Action方法名关联冲突问题

问题描述 jsp文件名与struts2的Action方法名关联冲突问题 jsp命名与struts2的Action方法名关联冲突问题 问题描述如下: 1.jsp命名为:fortuneWayPoints.jsp,文件中只有一行显示文字. 2.Struts的Action配置为: /jsp/kefu/lieyanzhetian/fortuneWayPoints.jsp playerLogAction中方法有: public String initFortuneWayPoints(){ return "f

Struts2 的问题 异步请求访问Action方法出现bug

问题描述 Struts2 的问题 异步请求访问Action方法出现bugpublic class EnumConstAction extends BaseAction {EnumConstService enumConstService;WEnumConstTab selInfo;// 专门为初始化select 使用public WEnumConstTab getInfo() {return info;}public void setInfo(WEnumConstTab info) {this.

java-struts 调用action 方法调了2次,但我只调用了一次

问题描述 struts 调用action 方法调了2次,但我只调用了一次 重定向到action,调用了两次action的方法,第一次我传的参数有值,第二次值变成了空,不知道为什么调用了两次方法,求大神帮助 这个是action,重定向是调用2次queryServiceGroup方法/customer queryServiceGroup <!--viewCampaignDetail -->${singleShopId} ${pt} 解决方案 [Struts]Action 3 动态方法调用Strut