




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Struts 学习笔记之Action 下面是Struts中的一些常用Action如DispatchAction/LookupDispatchAction/MappingDispatchAction/ForwardAction/IncludeAction的总结 1 DispatchAction extends BaseAction 一般的Action如,在这里UserAction只需要继承父类(extends Action类),然后重写父类的execute方法,在execute中实现具体的控制转向。 对于同一个formbean上进行的新增、修改、删除等,我们需要分发不同的Action,这里有两种做法。 一种是通过在execute方法中if判断进行不同的转向: UserAction 类的execute方法中 String method = request.getParameter(method); if (method.equals(create) return mapping.findForward(createUser); if (method.equals(save) return mapping.findForward(saveUser); struts-config.xml 中: 可以在页面中定义一个隐藏变量来指明相应的操作 / 这里最好不要使用 / 因为这种写法需要在formbean中定义相应的property,我们可以采用普通隐藏域 然后定义一个javascript函数,我们可以在通过点击提交按钮的时候,在函数中修改它的值。 function set(operation) with (document.forms0) method.value = operation; 点击提交按钮时,通过set方法设置提交的method属性值: CREATE SAVE 第二就是使UserAction继承DispatchAction,不需要重写execute方法: public ActionForward create(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception / 進行一些create的逻辑 / return mapping.findForward(createUser); public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception / 進行一些save的逻辑 / return mapping.findForward(saveUser); DispatchAction 在配置上和一般Action稍有不同,就是要在Action配置中多一个parametr属性,这个属性可以指定执行DispatchAction中对应的方法。 struts-config.xml 中: 我们在这里指定了parameter的值为method,则页面提交时我们必须指定提交时action的method参数来确定去我们想要调用哪个Action方法。 function submitForm(operation) with (document.forms0) action = action + ?method = + operation; submit(); 点击提交按钮时,通过submitForm方法设置提交时action的method参数: CREATE SAVE 2 LookupDispatchAction extends DispatchAction LookupDispatchAction 继承DispatchAction, 在上面的 中对于同一个页面上的多个submit按钮,不需要那么多复杂的js函数来指定提交时action的method参数,即上面的submitForm(operation)方法可以省去,LookupDispatchAction其用法为: 用MessageResource将按钮的文本和ResKey相关联,例如button.save=保存; 中用LookupDispatchAction代替就是: 在Action配置中多一个parametr属性,属性值与submit按钮的property属性值相同,这个属性可以指定执行LookupDispatchAction中对应的方法。 struts-config.xml 中: 使UserAction继承LookupDispatchAction,重写getKeyMethodMap()方法, 将ResKey和MethodName对应起来, 如下: protected Map getKeyMethodMap() Map map = new HashMap(); map.put(button.create, create); map.put(button.save, save); return map; 注: DispatchAction 类使用请求参数的值确定调用哪种方法,而LookupDispatchAction类利用请求参数值,反向查询资源绑定,并将它与类中的一种方法匹配,实际上这两种方法有异曲同工之处。 3 MappingDispatchAction extends DispatchAction DispatchAction 指定了parameter的值为method,则页面提交时我们必须指定提交时action的method参数来确定去我们想要调用哪个Action方法,而MappingDispatchAction直接通过struts-config.xml将多个action-mapping映射到同一个Action类的不同方法: 然后UserAction继承MappingDispatchAction即可: public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception 注: 查看MappingDispatchAction的源码: protected String getMethodName(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, String parameter) throws Exception / Return the unresolved mapping parameter. return parameter; 可以看到它调用的方法是直接返回struts-config.xml中parameter的值。 4 ForwardAction extends BaseAction 相当于功能,不需要配置formbean和act
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物技术行业生物医药新药研发前景分析报告
- 2025年家电维修行业维修服务市场前景分析报告
- 2025年医疗器械行业智能医疗机器人技术前景报告
- 2025年智能电子行业智能化电子产品发展趋势与市场前景研究报告
- 2025年生物科技行业生物技术在农业领域的应用与发展前景研究报告
- 2025年网约车行业共享出行市场前景预测报告
- 崇阳县2025年湖北咸宁崇阳县事业单位招聘工作人员97人(含医疗岗45人)笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中央民族乐团应届毕业生招聘4人笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国极地研究中心(中国极地研究所)招聘应届毕业生(硕士岗)拟聘笔试历年参考题库附带答案详解
- 四川省四川省卫生健康委员会所属事业单位2025年公开选调工作人员笔试历年参考题库附带答案详解
- 《土地变更调查讲义》课件
- 财务整账合同模板
- 2020年水利水电工程标准施工招标文件
- 《农产品安全与质量检测》课件-3.2.食品中的灰分的测定
- 钢结构厂房排水系统安装方案
- 对新员工保密基本培训
- 口耳目手足课件
- 2024-2025学年湖北省武汉二中广雅中学九年级上学期9月月考数学试题及答案
- 箱式变电站技术规范应答
- 2024年新北师大版七年级上册数学教学课件 第三章 整式及其加减 1 代数式 第1课时 代数式
- 2024 年甘肃省职业院校技能大赛高职组公共管理与服务类人力资源服务赛项竞赛规程
评论
0/150
提交评论