`
chengyue2007
  • 浏览: 1488497 次
  • 性别: 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>   

没有验证过

 

 

分享到:
评论

相关推荐

    struts1.2 + spring2.5 + hibernate3.2框架demo

    在Struts1.2和Hibernate3.2集成中,Spring可以作为它们之间的粘合剂,比如管理Action的生命周期,提供数据访问的事务控制。 再来看Hibernate3.2,它是Java世界中广泛使用的ORM解决方案。通过将Java对象映射到数据库...

    struts1.2 2.0两个版本API 开发手册 JAR包

    本文将详细介绍Struts1.2和Struts2.0两个版本的主要API和开发中的关键知识点。 **Struts1.2 API** 在Struts1.2版本中,主要的API包括Action、Form Bean、ActionServlet、ActionMapping、ActionForward等核心组件。...

    struts1.2+hibernate开发的小项目

    Struts1.2和Hibernate是两个非常经典的Java Web开发框架,它们在早期的Web应用程序开发中占据了重要地位。Struts1.2是一个基于MVC(Model-View-Controller)模式的框架,主要用于处理用户请求和控制业务逻辑,而...

    struts1.2的jar包及源码

    Struts1.2是Apache软件基金会的一个开源项目,...不过需要注意,尽管Struts1.2在过去的开发中发挥了重要作用,但随着技术的发展,现在已经有了更新的替代品,如Struts2和Spring MVC,它们提供了更多特性和更好的性能。

    struts 1.2 jar 包-驱动包

    - ActionMapping:定义Action与URL之间的映射关系,通常在struts-config.xml配置文件中定义。 - ActionForward:用于定义请求转发,可以将用户重定向到不同的JSP页面或Action。 **3. Struts 1.2的配置文件** - ...

    struts1.2与urlrewritefilter 的整合

    在Struts1.2框架中,URL通常是带有.action后缀的,这在某些情况下可能不那么直观和友好。URLRewriteFilter的引入就是为了改进这种情况,它允许我们定义一系列规则来转换URL,使其更易于理解和管理。例如,我们可以将...

    struts1.2实现动态多文件上传

    在Struts1.2中实现动态多文件上传是一项常见的需求,它允许用户在一次提交中上传多个文件,如图片、文档等。这项功能的实现涉及前端表单设计、后端处理逻辑以及文件存储策略。 首先,我们需要创建一个HTML或JSP页面...

    struts1.2.doc

    在Struts框架中,ActionServlet扮演了控制器的角色,它是整个框架的入口点,处理用户请求,调用模型处理数据,再将结果返回给视图展示。 #### 二、Struts框架概述 Struts是Apache软件基金会支持的一个开源项目,...

    struts1.2核心源码

    ActionMapping对象在struts-config.xml中定义,用于映射URL到特定的Action类。它包含了Action类的路径、转发路径以及可能的ActionForm绑定。 4. **ActionForm** ActionForm是模型层和控制器层之间的数据载体,它...

    Struts 1.2 API详细讲解

    在Struts 1.2中,Action类是处理用户请求的核心组件。它继承自org.apache.struts.action.Action,并覆盖execute方法来处理特定的HTTP请求。ActionForm类则用于封装表单数据,通常与Action类配合工作,通过setter和...

    struts1.2登陆小例子

    在这个登录示例中,你需要在`struts-config.xml`中配置`&lt;action&gt;`元素,指定`LoginAction`类与特定的URL路径关联。同时,还需要配置一个或多个`&lt;forward&gt;`元素来指定登录成功或失败后页面的跳转。 接着,视图层通常...

    struts1.2jar 包

    Struts 1.2 是一个历史悠久的Java Web框架,由Apache软件基金会开发并维护,它在Web应用程序开发中扮演了重要角色。这个压缩包包含了Struts 1.2的完整库,包括所有必要的jar文件,使得开发者能够快速搭建基于Struts ...

    jsp+myeclispe+struts1.2登陆例子

    **JSP + MyEclipse + Struts1.2 登陆...通过这个简单的登录示例,我们可以学习到JSP、Struts1.2和MyEclipse在Web开发中的实际应用,理解它们之间的协作机制,这对于进一步学习更复杂的Java Web应用开发是非常有帮助的。

    struts1.2文件上传demo

    文件上传在Struts1.2中主要涉及到两个核心组件:`ActionForm`和`File`对象。`ActionForm`是Struts1.2中处理表单数据的模型类,而`File`对象则用来接收上传文件的数据。 1. **配置struts-config.xml**: 在`struts-...

    Struts1.2标签库资料

    Struts1.2标签库是Java Web开发中的一个重要组成部分,它是Apache Struts框架的一个核心特性,为开发者提供了在JSP页面中操作模型数据、控制页面流程以及增强用户体验的便捷方式。Struts1.2标签库简化了MVC(模型-...

    struts1.2开发的登录、查看用户

    Struts1.2是一个经典的Java Web开发框架,它在2000年代中期非常流行,为开发者提供了MVC(Model-View-Controller)设计模式的实现,帮助简化应用程序的架构和开发流程。在这个"struts1.2开发的登录、查看用户"项目中...

    Struts1.2动态表单注册 验证实例(1)

    ActionForm对象用于收集用户在页面上填写的数据,Action类处理这些数据并决定后续的流程,而struts-config.xml文件则负责配置各个组件之间的关系和动作映射。 在实现动态表单注册时,我们通常会创建一个ActionForm...

    Struts1.2登录实例

    在本实例中,我们将深入探讨如何使用Struts1.2实现一个简单的登录功能,这将帮助我们理解Struts1的工作流程和配置细节。 首先,让我们了解Struts1的核心概念: 1. **ActionServlet**:这是Struts1的入口点,它是一...

    Struts1.2动态表单注册 验证实例(2)

    总的来说,这个实例涵盖了Struts1.2中的基础应用,包括Action、表单Bean、配置文件、验证框架和JSP页面的使用。通过学习和实践这个例子,开发者可以深入理解Struts的工作原理,以及如何利用它来构建功能丰富的Web...

    Struts2.0学习系列 以及 Struts2.0安装包

    在Struts2.0的学习过程中,首先需要了解的是其基本架构。Struts2.0框架整合了多种开源项目,如FreeMarker或JSP作为视图技术,OGNL(Object-Graph Navigation Language)作为表达式语言,以及拦截器机制来处理请求。...

Global site tag (gtag.js) - Google Analytics