`
chengyue2007
  • 浏览: 1473633 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ActionRedirect 在 struts1.2 action 和struts2.0中重定向url

阅读更多
struts的action中使用ActionForward来转发,redirect  

在做struts时,使用struts的forward来转交页面.一般这样配置.
<forward name="success" path="/listNews.do" />
有时候想用redirect也比较麻烦,因为struts里没有<redirect>标签.
难道要用一个中转的jsp页面使用<logic:redirect page=""/>来转接.我决不!
struts里使用ActionForward来forward,应该可以重载或者它里面有什么方法可以实现这个功能的。
于是struts1.2.7诞生了ActionRedirect子类.
API 是这么调用的.

ActionRedirect redirect = new ActionRedirect(mapping.findForward("doRedirect"));
redirect.addParameter(
"param1","value1");
redirect.addParameter(
"param2","2");
redirect.addParameter(
"param3","3.0");
return redirect;

 

看ActionRedirect的源码,很简单的,只是调用了一个构造函数来初始化它的ForwardConfig的实例变量.
如果我们单纯使用ActionForword的setRedirect(true);来设置forward,是会抛出例外的.
IllegalStateException("Configuration is frozen");

看ActionRedirect的源代码吧,不想多说了.
//生成这个forward时,configured属性已经被设置为true了,所以只能新建一个forward,configured默认才为false
//怎么生成forward的,以后找.

问题是redirect会把request里的东东都清空了.

 

private ActionForward addFrns(SourcingAchatListForm form, HttpServletRequest request, ActionMapping mapping, HttpServletResponse response,
            String userIdSelected, String artCodeStr, boolean isPalette) {
        Integer codeFrns = Integer.parseInt(request.getParameter("codeFrns"));
        Integer codeArt = Integer.parseInt(request.getParameter("codeArt"));
        fam.safeCreateFournisseurArticle(codeArt,codeFrns);
       
        ActionRedirect redirect = new ActionRedirect(mapping.findForward("self"));
        redirect.addParameter("waction", "actualiser");
        redirect.addParameter("pageNumber", request.getParameter("pageNumber"));
        redirect.addParameter("wareHousepageNum", request.getParameter("wareHousepageNum"));
        return redirect;
    }

 

 

* @struts.action-forward name="self" path="/sourcingAchatList.do"

在struts2.0中的重定向不是这样的。

如下,简单

   <result name="cancel" type="redirect">/pages/ajaxloginCancel.jsp</result>   

没有验证过

 

 

分享到:
评论

相关推荐

    struts 1.2 跳转后css或js 无效解决方法

    struts 1.2 跳转后css或js 无效解决方法,不是重定向处理,可以正常使用你的action 或css 或js

    一个基于struts的重定向和转发实例

    在struts中测试登录的redirect,transmit 一个测试重定向和转发的demo。演示转发到jsp和action的过程。 供参考。

    Struts中文手册[文字版][中文]

    1.2. Struts 体系结构1 1.2.1. 模型.2 1.2.2. 视窗.2 1.2.3. 控制器.2 1.3. Struts 框架中的组件.3 1.3.1. Struts配置文件.3 1.4. ActionServlet类6 1.4.1. ActionServlet配置6 1.4.2. ActionServlet方法7 1.5. ...

    struts的教程.doc

    转发和重定向标记 33 HTML标记 34 显示表单元素和输入控件 34 显示错误信息的标记 38 其他HTML标记 39 模板标记 39 一个简单的示例 41 Struts的安装 41 第一个实验:简单的JSP页 41 第二个实验:struts的...

    Struts框架及标记库

    1.3 Struts框架中的组件 5 1.3.1 Struts配置文件 5 1.3.2 ActionServlet类 8 1.3.3 ActionMapping类 10 1.3.4 Action类 10 1.3.5 ActionForm类 11 1.3.6 ActionForward类 12 1.3.7 错误处理 12 2 Struts标记库 14 ...

    java Struts教程

    转发和重定向标记 33 HTML标记 34 显示表单元素和输入控件 34 显示错误信息的标记 38 其他HTML标记 39 模板标记 39 一个简单的示例 41 Struts的安装 41 第一个实验:简单的JSP页 41 第二个实验:struts的国际化 42 ...

    struts 教程 很好很详细

    转发和重定向标记 33 HTML标记 34 显示表单元素和输入控件 34 显示错误信息的标记 38 其他HTML标记 39 模板标记 39 一个简单的示例 41 Struts的安装 41 第一个实验:简单的JSP页 41 第二个实验:struts的国际化 42 ...

    Struts2入门教程(全新完整版)

    三、在Action获取Scope对象 19 方式一、与Servlet解耦合的非IOC方式 20 方式二、与Servlet解耦合的IOC方式 21 方式三、与Servlet耦合的非IOC方式 21 方式四、与Servlet耦合的IOC方式 22 四、OGNL与ValueStack(VS) 22...

    解决struts2请求转发或重定向时,一个结果码无法对应多个视图的问题

    通过两个自定义结果集,解决struts2请求转发或重定向时,一个结果码无法对应多...以前的做法,是在配置Action时使用通配符解决,但这样需要JSP页面名称和Action的方法名称一致,如果命名不一致或不规范,就无法实现了。

    struts 入门教程

    转发和重定向标记 33 HTML标记 34 显示表单元素和输入控件 34 显示错误信息的标记 38 其他HTML标记 39 模板标记 39 一个简单的示例 41 Struts的安装 41 第一个实验:简单的JSP页 41 第二个实验:struts的国际化 42 ...

    struts2中result类型之redirectAction

    struts2中result类型之redirectAction

    struts2漏洞.rar

    在2013年6月底发布的Struts 2.3.15版本被曝出存在重要的安全漏洞 [1] ,主要问题如下: 可远程执行服务器脚本代码 [2] 用户可以构造http://host/struts2-blank/example/X.action?action:%25{(new+java.lang....

    struts2-login校验.rar

    用tomcat服务器,通过struts.xml写的action来操作网页之间的重定向和对login数据的校验。(分为admin和user的login网页)

    struts-2.3.15.1

    漏洞根源在于,DefaultActionMapper类支持以"action:"、"redirect:"、"redirectAction:"作为导航或是重定向前缀,但是这些前缀后面同时可以跟OGNL表达式,由于struts2没有对这些前缀做过滤,导致利用OGNL表达式调用...

    Struts in Action中文版

    2.6.2. Struts的强项........................................................................................................58 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM ...

    struts中文学习资料.doc

    4.2.3 转发和重定向标记……………………………………………………………18 4.3 HTML标记………………………………………………………………………………19 4.3.1 显示表单元素和输入控件………………………………...

    struts in Action

    2.6. Struts 的长处和弱点...........................................................................................55 2.6.1. 弱点..........................................................................

    java考试系统

    myeclipse制作的资源考试 ...3.在Struts中提供了多种返回结果类型,( )结果类型表示浏览器重定向转发,但是不能重定向到WEB-INF目录下的Jsp页面 。 (A)dippatcher (B)Redirect (C)redirectAction (D)plaintext

    我的博客园

    并在SpringIoC容器中使用原型模式创建struts2框架中的每一个Action实例对象以及使用单例模式创建业务逻辑层接口实现类的实例对象。在业务逻辑层中使用SpringIoC容器中的AOP的cglib代理模式配置事务管理。 在数据库...

    【计算机软件毕业设计】二手车交易平台的分析、设计与实现文献综述1.doc

    Struts名字来源于在建筑和旧式飞机中使用的支持金属架。"Struts"这名字是为了提醒 我们记住支撑我们房屋,建筑,桥梁等物的基础支撑。就如我们的软件系统产品,软件 工程师使用Struts为各种业务应用的每一层提供...

Global site tag (gtag.js) - Google Analytics