`

关于struts2 action跳转到action的想法

 
阅读更多
首先说明配置跳转类型:
Struts2的Result Type 说明:
1,chain  
      用来处理Action链,将一个action的执行与另外一个配置好的action串连起来。用第一个action的getter方法和第二个action的setter方法来完成action之间属性的复制。
    com.opensymphony.xwork2.ActionChainResult 
2,dispatcher    
    用来转向JSP页面,这是默认的结果类型,如果在action配置中没有配置其他的结果类型,它就会被使用  
    org.apache.struts2.dispatcher.ServletDispatcherResult 
3,freemaker  
      处理FreeMarker模板  
      org.apache.struts2.views.freemarker.FreemarkerResult 
httpheader  
      控制特殊HTTP行为的结果类型    
     org.apache.struts2.dispatcher.HttpHeaderResult 
4,redirect  
      重定向到一个URL    
      org.apache.struts2.dispatcher.ServletRedirectResult 
5,redirectAction  
    重定向到一个Action  
    org.apache.struts2.dispatcher.ServletActionRedirectResult 
6,stream  
      向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据  
     org.apache.struts2.dispatcher.StreamResult 
7,velocity  
      处理Velocity模板  
     org.apache.struts2.dispatcher.VelocityResult 
8,xslt  
     处理XML/XLST模板  
     org.apache.struts2.views.xslt.XSLTResult 
9,plainText  
      显示原始文件内容,例如文件源代码  
    org.apache.struts2.dispatcher.PlainTextResult 
注:redirect与redirect-action区别
一、使用redirect需要后缀名 使用redirectAction不需要后缀名 并且redirectActio可以跳转到其他命名空间的action。
二、type="redirect" 不可以省略.action的后缀直接写action的名称,而redirect-action可以省略.action的后缀直接写action的名称。
如:
<result name="success" type="redirect">viewTask.action</result>
<result name="success" type="redirect-action">viewTask</result>
附:redirect-action 传递参数
Xml代码
<action name="enterpreinfo" class="preinfoBusinessAction"     method="enterPreinfoSub">
        <result name="success" type="redirect-action">
             showpreinfo?preinfo.order_number=${preinfo.order_number}&amp;preinfo.company_name=${preinfo.company_name}              
        </result>  
        <result name="error" type="redirect">       
              <param name="location">/error.jsp</param>  
        </result>  
</action>  

因为使用了redirect-action,所以要注意不能将showpreinf?preinfo.order_number=${preinfo.order_number}写成showpreinf.action?preinfo.order_number=${preinfo.order_number}
其中${}为EL表达式,获取action:enterpreinfo中属性的值;在这个配置文件里,多个参数的连接符使用了"&amp;",但XML的语法规范,应该使用"&amp;"代替"&",原理和HTML中的转义相同.
redirect配置例子
<action name= "delete " class= "com.zeng.action.UserManageAction " method= "delete ">
<result name= "success " type= "redirect-action ">
<param name= "actionName "> list </param>
<param name= "pageBean.pageNumber "> ${pageBean.pageNumber} </param>
</result>
</action>
或者
<action name= "delete " class= "com.zeng.action.UserManageAction " method= "delete ">
<result type= "redirect "> list.action?pageBean.pageNumber=${pageBean.pageNumber} </result>
</action>


action跳转至另外的action,传集合参数,struts不支持直接传集合参数。
个人有两种想法
一:讲集合序列号成json字符串,当普通类型数据传递。这样满足在重定向的情况下传参数。
二:使用转发至action,使用request.setattribute()设置对象,在另外一个action对象里面取值。这样虽然可以取到值,但是达不到重定向的效果。
分享到:
评论

相关推荐

    struts2 action跳转action传参数

    - `&lt;result name="success" type="redirectAction"&gt;action2.action&lt;/result&gt;`:表示当action1执行成功后,会触发一个重定向,跳转到`action2.action`。 - **注意**:在这种情况下,无法直接通过struts.xml配置文件...

    Struts2从一个带参数action跳转到另一个action

    资源中示例了一个struts2的配置文件中配置的action的result结果为另外一个action的配置,该跳转的过程中是带所有参赛调整的,在另外一个action中可以接受到当前action的所有参数,此配置文件是我日常开发中的经验...

    一个struts的action跳转大全

    根据以上流程,我们可以更深入地理解以下几种常见的Action跳转场景: 1. **Action跳转全解** ```xml &lt;action path="/aFullAction" type="somePackage.someActionClass"&gt; name="someForm" input="someJSP.jsp" ...

    Struts2简单的页面跳转示例

    此外,Struts2还支持动态结果页面,可以使用OGNL(Object-Graph Navigation Language)表达式来决定跳转到哪个页面。例如: ```xml ${targetPage} ``` 在这里,`targetPage`变量可以在Action类中设置,它的值可以...

    struts2 result转向到action

    ### Struts2 Result 转向到 Action 的深入解析 #### 一、基本概念与应用场景 **Struts2** 是一款流行的 Java Web 开发框架,它支持多种开发模式(如 MVC),并提供了一系列用于简化 Web 应用程序开发的功能。在 ...

    struts2 跳转至404 页面的解决方案

    总之,解决Struts2跳转至404页面的问题需要对整个应用的配置进行仔细检查,从Action、命名空间、拦截器到结果类型、资源路径,甚至包括服务器和IDE的设置。理解Struts2的工作原理,结合日志信息,通常可以找出导致...

    struts2一个action处理多个请求 struts2实例

    这里,`myAction`将处理以`myAction`开头的请求,如`myAction.action`,而`success`和`error`是不同的请求结果,根据业务逻辑决定跳转到哪个页面。 2. **使用通配符映射** Struts2支持使用通配符来映射多个请求。...

    Struts2 Action参数详细说明

    在Struts2中,Action的配置和使用方式有多种,下面将详细介绍Struts2 Action参数的详细说明。 首先,我们来看Action的配置格式。在Struts2的配置文件(通常是struts.xml)中,Action的基本配置结构如下: ```xml ...

    struts2 中路径无法跳转的问题

    在Struts2中,路径跳转是应用程序中常见的操作,它涉及到请求转发和重定向。当遇到“Struts2中路径无法跳转的问题”时,这通常与配置、Action类、结果类型或JSP页面的设置有关。以下是一些可能导致问题的关键知识点...

    Struts2 in action(struts2实战)

    作为一个基于Action和基于拦截器的框架,Struts2提供了丰富的功能,使得开发者能够构建可维护、可扩展的Web应用。下面我们将深入探讨Struts2的主要特性、工作原理以及如何在实际开发中运用。 1. **核心概念**: - ...

    struts1直接跳转到jsp-无action的url

    标题“struts1直接跳转到jsp-无action的url”所指的是在Struts1框架下,如何不通过Action类直接将请求转发到JSP页面。这种做法虽然不推荐,但在某些情况下可能被用来简化流程或快速测试。 在Struts1中,通常的请求...

    Struts2 in action

    - Action处理完请求后返回一个结果,这个结果告诉Struts2如何继续下一步操作(如跳转到某个页面)。 - **示例代码**: ```java public class ExampleAction extends ActionSupport { private String name; ...

    Struts 标签 页面跳转 数据库操作

    2. JSP中跳转到Action:通过`&lt;html:submit&gt;`或`&lt;html:image&gt;`等标签,用户点击后会提交表单到指定的Action,Action根据请求参数决定跳转的页面。 3. Action中的业务逻辑跳转:在Action类中,可以根据业务逻辑使用`...

    STRUTS2跳转示意图

    在Struts2中,Action是一个实现了`com.opensymphony.xwork2.Action`接口或者继承自`org.struts2.StrutsAction`的类。这个类包含了处理用户请求的方法,通常被称为execute方法。当一个HTTP请求到达服务器,Struts2...

    Struts2操作同一action的不同方法跳转jar包(包括示例代码)

    本资源提供了关于如何在Struts2中操作同一Action的不同方法并进行页面跳转的详细知识,下面将深入探讨这一主题。 首先,了解Struts2的配置方式。在Struts2的配置文件(如struts.xml或struts.properties)中,我们...

    struts1.3页面跳转问题

    在Struts1.3中,页面跳转是常见的需求,它涉及到Action类、配置文件(struts-config.xml)以及JSP页面间的交互。本篇文章将深入探讨Struts1.3中的页面跳转机制及其相关知识点。 首先,页面跳转在Struts1.3中有两种...

    Struts2 in action中文版+配套源代码

    "Struts2 in Action" 是一本深入探讨Struts2框架的专业书籍,旨在帮助开发者掌握这一框架的核心概念和实践技巧。这本书的中文版不仅提供了理论知识,还附带有配套的源代码,方便读者进行实践操作,加深理解。 ...

    struts1跳转大全

    本文将深入解析Struts1中的五种不同类型的跳转方法,这包括了完整action、仅有Form的action、仅有Action的action、仅有JSP的action以及两个action对应一个form的情况。 ### 完整的action 在Struts1中,一个完整的...

    struts2 action跳转调用另一个程序

    在Struts2框架中,Action是控制器层的核心组件,它负责处理用户请求并转发到相应的结果页面或执行业务逻辑。当一个Action执行成功后,我们可能需要根据业务需求调用另一个程序或者Action来完成一系列的操作。这个...

Global site tag (gtag.js) - Google Analytics