`
alex8946
  • 浏览: 367806 次
  • 性别: Icon_minigender_1
  • 来自: 广东广州
社区版块
存档分类
最新评论

用ActionRedirect 在 struts action 中重定向url

    博客分类:
  • J2EE
阅读更多
struts的action中使用ActionForward来转发,redirect   <script src="http://blog.csdn.net/count.aspx?ID=1576781&amp;amp;Type=Rank"></script>  CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。

在做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"

分享到:
评论

相关推荐

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

    在Struts中,我们通常使用`ActionRedirect`类或者在ActionSupport类中使用`redirectAction()`方法来实现重定向。 2. **转发(Forward)**:转发发生在服务器端,不会产生新的HTTP请求。服务器接收到请求后,不直接...

    struts2 重定向

    总结来说,Struts2中的重定向是一种重要的URL导航技术,可以通过多种方式实现,包括`ActionRedirect`对象、`Results`配置、`ActionSupport`的`redirect()`方法和注解方式。理解并熟练掌握这些方法,对于开发高质量的...

    struts1.3页面跳转问题

    除了在特定Action配置中定义转发和重定向,我们还可以在struts-config.xml的全局部分定义,这样可以在多个Action中复用: ```xml ``` 5. 模型驱动(ModelDriven)与值栈(ValueStack) Struts1.3支持...

    struts 2 学习笔记

    4. **路径和Action映射**:在Struts2中,URL路径是基于Action的,而不是直接指向JSP页面。绝对路径可以通过`basepath`变量访问,动态方法调用可以使用`!method`的形式,如`student*`用于自动匹配`studentadd`等...

    基于注解的struts2的简单工程

    在传统的Struts2配置中,我们通常会在`struts.xml`文件中定义Action类、结果类型和结果页面等。然而,通过使用注解,我们可以将这些配置直接写在Action类和方法上,使得代码更加简洁和易于维护。 首先,`@Action`...

    Struts与Servlete的Demo

    在Struts中,这些操作可以通过ActionForward和ActionRedirect对象完成,更加方便和灵活。 3. **动作映射**:Struts的struts-config.xml文件定义了每个请求与哪个Action之间的映射,这使得请求的路由更加规范和易于...

    struts 整合ckeditor

    6. **返回结果**:在Action执行完成后,返回一个ActionForward或ActionRedirect,指示Struts框架跳转到哪个JSP页面显示结果。在这个页面中,可以展示保存的文本内容。 7. **展示内容**:在响应的JSP页面中,可以...

    struts 原理 机制 分析 源码 DEMO

    在给出的代码片段中,可以看到一个`ActionRedirect`实例的创建,这表明Action执行完业务逻辑后决定重定向到另一个页面。`ActionRedirect`继承自`ActionForward`,但它的主要区别在于它会触发浏览器发起一个新的HTTP...

    testRedirect:在struts中测试登录的redirect,transmit

    在Struts框架中,`testRedirect`是一个典型的用于测试用户登录重定向(redirect)和转发(forward)功能的示例。Struts是一个基于MVC(Model-View-Controller)架构的Java Web应用框架,它帮助开发者组织和管理复杂...

Global site tag (gtag.js) - Google Analytics