首先说明配置跳转类型:
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}&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中属性的值;在这个配置文件里,多个参数的连接符使用了"&",但XML的语法规范,应该使用"&"代替"&",原理和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对象里面取值。这样虽然可以取到值,但是达不到重定向的效果。
分享到:
相关推荐
- `<result name="success" type="redirectAction">action2.action</result>`:表示当action1执行成功后,会触发一个重定向,跳转到`action2.action`。 - **注意**:在这种情况下,无法直接通过struts.xml配置文件...
资源中示例了一个struts2的配置文件中配置的action的result结果为另外一个action的配置,该跳转的过程中是带所有参赛调整的,在另外一个action中可以接受到当前action的所有参数,此配置文件是我日常开发中的经验...
根据以上流程,我们可以更深入地理解以下几种常见的Action跳转场景: 1. **Action跳转全解** ```xml <action path="/aFullAction" type="somePackage.someActionClass"> name="someForm" input="someJSP.jsp" ...
此外,Struts2还支持动态结果页面,可以使用OGNL(Object-Graph Navigation Language)表达式来决定跳转到哪个页面。例如: ```xml ${targetPage} ``` 在这里,`targetPage`变量可以在Action类中设置,它的值可以...
### Struts2 Result 转向到 Action 的深入解析 #### 一、基本概念与应用场景 **Struts2** 是一款流行的 Java Web 开发框架,它支持多种开发模式(如 MVC),并提供了一系列用于简化 Web 应用程序开发的功能。在 ...
总之,解决Struts2跳转至404页面的问题需要对整个应用的配置进行仔细检查,从Action、命名空间、拦截器到结果类型、资源路径,甚至包括服务器和IDE的设置。理解Struts2的工作原理,结合日志信息,通常可以找出导致...
这里,`myAction`将处理以`myAction`开头的请求,如`myAction.action`,而`success`和`error`是不同的请求结果,根据业务逻辑决定跳转到哪个页面。 2. **使用通配符映射** Struts2支持使用通配符来映射多个请求。...
在Struts2中,Action的配置和使用方式有多种,下面将详细介绍Struts2 Action参数的详细说明。 首先,我们来看Action的配置格式。在Struts2的配置文件(通常是struts.xml)中,Action的基本配置结构如下: ```xml ...
在Struts2中,路径跳转是应用程序中常见的操作,它涉及到请求转发和重定向。当遇到“Struts2中路径无法跳转的问题”时,这通常与配置、Action类、结果类型或JSP页面的设置有关。以下是一些可能导致问题的关键知识点...
作为一个基于Action和基于拦截器的框架,Struts2提供了丰富的功能,使得开发者能够构建可维护、可扩展的Web应用。下面我们将深入探讨Struts2的主要特性、工作原理以及如何在实际开发中运用。 1. **核心概念**: - ...
标题“struts1直接跳转到jsp-无action的url”所指的是在Struts1框架下,如何不通过Action类直接将请求转发到JSP页面。这种做法虽然不推荐,但在某些情况下可能被用来简化流程或快速测试。 在Struts1中,通常的请求...
- Action处理完请求后返回一个结果,这个结果告诉Struts2如何继续下一步操作(如跳转到某个页面)。 - **示例代码**: ```java public class ExampleAction extends ActionSupport { private String name; ...
2. JSP中跳转到Action:通过`<html:submit>`或`<html:image>`等标签,用户点击后会提交表单到指定的Action,Action根据请求参数决定跳转的页面。 3. Action中的业务逻辑跳转:在Action类中,可以根据业务逻辑使用`...
在Struts2中,Action是一个实现了`com.opensymphony.xwork2.Action`接口或者继承自`org.struts2.StrutsAction`的类。这个类包含了处理用户请求的方法,通常被称为execute方法。当一个HTTP请求到达服务器,Struts2...
本资源提供了关于如何在Struts2中操作同一Action的不同方法并进行页面跳转的详细知识,下面将深入探讨这一主题。 首先,了解Struts2的配置方式。在Struts2的配置文件(如struts.xml或struts.properties)中,我们...
在Struts1.3中,页面跳转是常见的需求,它涉及到Action类、配置文件(struts-config.xml)以及JSP页面间的交互。本篇文章将深入探讨Struts1.3中的页面跳转机制及其相关知识点。 首先,页面跳转在Struts1.3中有两种...
"Struts2 in Action" 是一本深入探讨Struts2框架的专业书籍,旨在帮助开发者掌握这一框架的核心概念和实践技巧。这本书的中文版不仅提供了理论知识,还附带有配套的源代码,方便读者进行实践操作,加深理解。 ...
本文将深入解析Struts1中的五种不同类型的跳转方法,这包括了完整action、仅有Form的action、仅有Action的action、仅有JSP的action以及两个action对应一个form的情况。 ### 完整的action 在Struts1中,一个完整的...
在Struts2框架中,Action是控制器层的核心组件,它负责处理用户请求并转发到相应的结果页面或执行业务逻辑。当一个Action执行成功后,我们可能需要根据业务需求调用另一个程序或者Action来完成一系列的操作。这个...