仓酷云
标题:
发布一篇层层递进Struts1(七)详解DispatchAction
[打印本页]
作者:
分手快乐
时间:
2015-1-18 11:01
标题:
发布一篇层层递进Struts1(七)详解DispatchAction
但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开
经由过程后面几篇博客,不晓得人人有无发明这个成绩,固然如今能够天真把持跳转了,可是Action的数目仍是对照多,怎样既能包管跳转天真,还能削减Action的数目?这就是我们这篇博客所说的DispatchAction,如其名,能够了解为“分发式Action”,利用它能够制止为每一个Action创立一个类。
我们先来看一下实例。
UserAction
DispatchAction承继的是Action,它的特性就是把之前的多个Action兼并为一个,当多个Action联系关系较年夜时,能够像如许放在一同,削减Action类的同时,也下降了保护的难度。
packagecom.tgb.drp.web.actions;
importjava.util.Date;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.commons.beanutils.BeanUtils;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importorg.apache.struts.actions.DispatchAction;
importcom.tgb.drp.manager.UserManager;
importcom.tgb.drp.model.User;
importcom.tgb.drp.web.forms.UserActionForm;
publicclassUserActionextendsDispatchAction{
@Override
protectedActionForwardunspecified(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//挪用营业逻辑操纵
ListuserList=UserManager.getInstance().findAllUserList();
request.setAttribute("userlist",userList);
returnmapping.findForward("list_success");
}
/**
*用户删除
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@return
*@throwsException
*/
publicActionForwarddel(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//猎取从页面表单中提交过去的值
UserActionFormuaf=(UserActionForm)form;
//获得必要删除的userId的汇合
String[]userIdList=uaf.getSelectFlag();
//挪用营业逻辑操纵
UserManager.getInstance().deleteUsers(userIdList);
returnmapping.findForward("del_success");
}
/**
*用户增加
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@return
*@throwsException
*/
publicActionForwardadd(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//猎取从页面表单中提交过去的值
UserActionFormuaf=(UserActionForm)form;
Useruser=newUser();
BeanUtils.copyProperties(user,uaf);
user.setCreateDate(newDate());
//挪用营业逻辑操纵
UserManager.getInstance().addUser(user);
returnmapping.findForward("add_success");}
/**
*修正用户
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@return
*@throwsException
*/
publicActionForwardmodify(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//猎取从页面表单中提交过去的值
UserActionFormuaf=(UserActionForm)form;
Useruser=newUser();
BeanUtils.copyProperties(user,uaf);
//挪用营业逻辑操纵
UserManager.getInstance().modifyUser(user);
returnmapping.findForward("modify_success");
}
/**
*依据ID查询用户
*
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@return
*@throwsException
*/
publicActionForwardfind(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//猎取从页面表单中提交过去的值
UserActionFormuaf=(UserActionForm)form;
StringuserId=uaf.getUserId();
//挪用营业逻辑操纵
Useruser=UserManager.getInstance().findUserById(userId);
//将user对象从Action传送到JSP页面
request.setAttribute("user",user);
returnmapping.findForward("find_success");
}
}
复制代码
<p>
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。
作者:
愤怒的大鸟
时间:
2015-1-20 12:47
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者:
因胸联盟
时间:
2015-1-29 07:10
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者:
柔情似水
时间:
2015-2-5 23:57
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者:
仓酷云
时间:
2015-2-14 09:32
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者:
山那边是海
时间:
2015-3-4 05:23
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者:
再现理想
时间:
2015-3-11 17:30
是一种将安全性(Security)列为第一优先考虑的语言
作者:
金色的骷髅
时间:
2015-3-19 03:47
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
作者:
第二个灵魂
时间:
2015-3-27 07:10
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2