Struts——ActionForward
来源:互联网 发布:实体店铺设计软件 编辑:程序博客网 时间:2024/05/22 13:51
ActionForward
ActionForward继承自ForwardConfig;此类提供了多种参数不同的构造函数方法。用于封装转发路径,用来完成转发或重定向。ActionForward默认的是转发方式跳转界面;当然也支持重定向的方式,将redirect属性设置为true即可。
全局Or局部
就和字面意思一样;全局和局部是作用域不同,就像我们声明变量时,局部变量和全局变量的作用域也不同。
我们平时写的都是局部使用的,下面我们看下全局的该如何配置:
<global-forwards> <forwardname="success" path="/login_success.jsp"/> </global-forwards>
那么当我们即配置了全局forward又配置了局部的forward,程序会跳转到哪个呢?程序采用的是就近原则,如果配置了局部的forward,那么就会跳转至局部的forward。
示例:
假设我们现在有这种情况,根据登录的用户的不同的用户角色跳转到不同的界面,admin用户跳转到admin界面;root用户跳转到root界面;common用户跳转到common界面。
第一种Action的写法:
publicActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequestrequest, HttpServletResponse response)throwsException { LoginActionFormlaf=(LoginActionForm)form;Stringusername = laf.getUsername();Stringpassword = laf.getPassword();//调用逻辑if("admin".equals(username)&&"admin".equals(password)){//登录成功跳转到管理员界面returnmapping.findForward("admin");}elseif("root".equals(username)&&"root".equals(password)){//登录成功跳转到基础界面returnmapping.findForward("root");}elseif("common".equals(username)&&"common".equals(password)){//登录成功跳转到基础界面returnmapping.findForward("common");}else{//登录失败returnmapping.findForward("error");}}
这一种写法很不灵活,如果用户角色又增加了很多种,岂不是每增加一种都要修改一次代码?重新编译?这样不利于应对变化。
第二种Action的写法:
publicActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequestrequest, HttpServletResponse response)throwsException { LoginActionFormlaf=(LoginActionForm)form;StringuserRole=laf.getUserrole();StringuserName=laf.getUsername(); ActionForward af = newActionForward(); af.setPath("/page" + userRole+ ".jsp?username="+userName); return af; }}
这一种写法,我们可以把要跳转的信息存在ActionForm中,根据传进去的参数不同,进行页面的跳转。同时,这种写法还可以传递参数。
总结
在struts中,ActionForward起到的作用和request的重定向和转发的作用相同。他封装好了页面跳转的代码,可以让我们使用时仅仅传入一个参数,大大简化了我们的操作,可以使我们只专注于业务。
- Struts——ActionForward
- 一口一口吃掉struts(七)——ActionForward知多少
- 一口一口吃掉struts(七)——ActionForward知多少 .
- 09-struts-ActionForward
- Struts 1.2笔记:ActionForward
- Struts ActionForward带参数跳转
- Struts之ActionForward详细介绍
- Struts之ActionForward详细介绍
- Struts1——ActionForward对象常用设置
- ActionForward
- ActionForward
- ActionForward
- ActionForward
- ActionForward
- ActionForward
- 用ActionForward优化你的Struts应用程序
- 在struts的ActionForward中添加参数
- 用ActionForward优化你的Struts应用程序
- mysql访问量过大时需要调整的参数
- 真正的成功,存于玻璃瓶外
- 重写系统viewpager 实现每次切换每个页面都重新加载
- 帧动画
- conteros yum 安装mysql
- Struts——ActionForward
- 还是他说今天生日任何
- KindEditor编辑器初始化参数
- Android ant自动打包脚本:自动替换友盟渠道、版本号、包名
- Qt编程19:Qt时间日期的处理(QTime、QDateTime的使用比较简单)
- 一次亲身经历体验内存管理的重要性
- iOS资料合集
- Android之TextView灵活使用
- optimizer_index_cost_adj