`

struts2.xml 中result type属性说明

阅读更多

 

chain   
  
    用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。   
  
    com.opensymphony.xwork2.ActionChainResult   
  
dispatcher   
  
    用来转向页面,通常处理JSP   
  
    org.apache.struts2.dispatcher.ServletDispatcherResult   
  
freemaker   
  
    处理FreeMarker模板   
  
    org.apache.struts2.views.freemarker.FreemarkerResult   
  
httpheader   
  
    控制特殊HTTP行为的结果类型   
  
    org.apache.struts2.dispatcher.HttpHeaderResult  

stream   
  
    向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据   
  
    org.apache.struts2.dispatcher.StreamResult   
  
velocity   
  
    处理Velocity模板   
  
    org.apache.struts2.dispatcher.VelocityResult   
  
xslt   
  
    处理XML/XLST模板   
  
    org.apache.struts2.views.xslt.XSLTResult   
  
plainText   
  
    显示原始文件内容,例如文件源代码   
  
    org.apache.struts2.dispatcher.PlainTextResult   
  
plaintext   
  
    显示原始文件内容,例如文件源代码   
  
    org.apache.struts2.dispatcher.PlainTextResult

redirect   
  
    重定向到一个URL ,被跳转的页面中丢失传递的信息,如request  
  
    org.apache.struts2.dispatcher.ServletRedirectResult   
  
redirectAction   
  
    重定向到一个Action ,跳转的页面中丢失传递的信息,如request     
  
    org.apache.struts2.dispatcher.ServletActionRedirectResult   
  
redirect-action   
  
    重定向到一个Action ,跳转的页面中丢失传递的信息,如request     
  
    org.apache.struts2.dispatcher.ServletActionRedirectResult

注:redirect与redirect-action区别

一、使用redirect需要后缀名 使用redirect-action不需要后缀名
二、type="redirect" 的值可以转到其它命名空间下的action,而redirect-action只能转到同一命名空下的 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中的转义相同,开始没有注意,在struts 分析配置文件时,总是报出这样的错误:

The reference to entity  "preinfo"  must end with the  ';'  delimiter.  
The reference to entity "preinfo" must end with the ';' delimiter.
进行上面说明的替换后,就正常了。

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="struts.devMode" value="true" />
    <package name="resultTypes" namespace="/r" extends="struts-default">
	    <action name="r1">
	    	<result type="dispatcher">/r1.jsp</result>
	    </action>    
	    <action name="r2">
	    	<result type="redirect">/r2.jsp</result>
	    </action>  
	    <action name="r3">
	    	<result type="chain">r1</result>
	    </action>
	     <action name="r4">
	    	<result type="redirectAction">r2</result>
	    </action>
	    
    </package>
</struts>

 

分享到:
评论

相关推荐

    struts2属性文件struts.xml的配置

    ### Struts2属性文件struts.xml的配置 在Java Web开发中,Struts2框架作为MVC模式的一种实现,提供了一种简洁的方式来构建应用程序。其中,`struts.xml`是Struts2的核心配置文件,用于定义项目的包、常量、拦截器等...

    dom4j解析struts.xml需要的包装类

    在Struts2中,配置文件`struts.xml`扮演着核心角色,它定义了动作(Action)、包(Package)和结果(Result)等关键组件的行为。为了方便地解析和处理这些配置,开发者常常会创建自定义的包装类(Wrapper Class),...

    Dom4j解析struts2框架的struts.xml

    在Struts2中,`struts.xml`是核心配置文件,它定义了应用的各个组件,如动作(Actions)、结果(Results)、拦截器(Interceptors)等。本篇文章将深入探讨如何使用Dom4j这个XML处理库来解析`struts.xml`,以便...

    struts.xml文件详解示例代码

    Struts.xml文件是Apache Struts 2框架的核心配置文件,用于定义应用的MVC(Model-View-Controller)架构和动作映射。它为应用程序提供了一种声明式的方式来配置Struts2的行为,使得开发者能够控制请求如何被处理,...

    struts2 xml

    在Struts2中,XML配置文件(通常命名为struts.xml)是整个框架的基石,它负责设置Action、拦截器、结果页面以及其他关键组件。 **1. 包配置(Package Configuration)** 包在Struts2中扮演着组织和管理的角色,它...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...

    不同版本的 struts2.dtd

    在Struts2中,DTD(Document Type Definition)文件扮演着重要的角色,它定义了配置文件的结构和规则。下面我们将详细探讨不同版本的Struts2 DTD及其相关知识点。 1. **Struts2 DTD 的作用** - Struts2 DTD 是XML...

    Struts2.5版本struts.xml与web.xml配置的更改方法

    在Struts2框架中,配置文件`struts.xml`和`web.xml`是核心部分,它们定义了应用程序的行为和路由规则。随着版本的更新,配置方式也会有所改变。以下是Struts2.5版本中`struts.xml`和`web.xml`配置的更改方法: **1....

    struts2中两种validation.xml的配置方式

    根据所提供的信息,我们可以了解到文章主要探讨了Struts2中两种不同的`validation.xml`配置方式,并且通过一个具体的例子进行了说明。下面将对这两种配置方式进行详细介绍。 ### 一、Struts2框架中的验证机制 ...

    struts.xml详细说明.doc

    Struts2 框架是基于MVC设计模式的一个强大且灵活的Java Web开发框架,它的核心配置文件是`struts.xml`。这个文件用于定义应用程序的行为,包括Action的映射、结果页面的跳转以及拦截器的配置。以下是关于`struts.xml...

    struts-xml.zip

    1. **package**:在Struts2中,package是配置的基本单位,类似于Spring框架中的bean定义。它定义了Action、结果类型、拦截器等的集合,并可以继承其他包的配置。 2. **action**:action元素定义了请求如何映射到...

    struts2的action的几种result type说明

    在Struts2中,Action是业务逻辑的核心组件,而Result是控制流程的关键部分,它定义了Action执行后如何展示结果。Result Type是Result的一种预定义类型,决定了结果如何被处理和展现给用户。在`struts-default.xml`...

    struts2.0中struts.xml配置文件详解

    包是Struts2中用来组织Action、拦截器和其他配置的一种方式。例如: ```xml &lt;package name="com.kay.struts2" extends="struts-default" namespace="/test"&gt; ``` - `name`属性:包的名字。 - `extends`属性:继承...

    struts2.pdf

    2. **路由决策**:核心控制器`FilterDispatcher`根据URL中的Action名和配置文件(struts.xml)中的定义来确定应调用哪个Action。 3. **执行拦截器链**:在调用具体的Action之前,会首先经过一系列的拦截器。这些拦截...

    struts2的struts.xml文件的元素结构

    在Struts2中,`struts.xml`文件是核心配置文件,用于定义应用的行为、动作映射、结果类型、拦截器等。这篇博文主要探讨了`struts.xml`文件的元素结构,下面我们将详细解析这些关键元素。 首先,`struts.xml`文件...

    struts2 result type 介绍

    在Struts2中,Result Type是由`struts-default.xml`配置文件中的`&lt;package&gt;`元素的`defaultResultType`属性指定的,默认情况下,这个值通常是“dispatcher”,意味着Action完成后会使用Dispatcher Result来渲染JSP...

    对Struts 2.0中的struts.xml配置文件详细说明 2

    Struts 2.0是Java Web开发中广泛使用的MVC框架,它的核心在于`struts.xml`配置文件。这个配置文件扮演着应用的中枢角色,负责定义动作(Actions)、结果(Results)、拦截器(Interceptors)等关键组件,以及它们...

    struts.xml配置文件详解

    拦截器是Struts 2中非常重要的一个概念,主要用于处理横切关注点。例如,日志记录、事务管理等都可以通过定义拦截器来实现。 - **name**:拦截器名称。 - **class**:拦截器对应的实现类。 示例代码如下: ```xml ...

    去掉.action去掉.do字样 隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    本篇文章将详细介绍如何在Struts2中去除.action后缀,以及Struts1中隐藏.do扩展名,使URL更加简洁。 首先,让我们来看看Struts2的情况。在Struts2中,默认情况下,所有的请求都会映射到.action结尾的URL上。为了...

    struts2中常用Result类型(type)的用法和出现的问题

    Struts2 中常用 Result 类型(type)的用法和出现的问题 Struts2 中的 Result 类型(type)是指在 Struts2 框架中用于确定 action 执行结果的方式。常用的 Result 类型有 dispatcher、redirect 和 chain 三种。这三...

Global site tag (gtag.js) - Google Analytics