posts - 22, comments - 32, trackbacks - 0, articles - 73
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

struts2 的 result type 类型!

Posted on 2012-06-01 12:56 为自己代言 阅读(413) 评论(0)  编辑  收藏
我们大部分情况使用默认的或者chain或者redirect,其实struts2还有很多其他类型的,今天我们就来看一下都有哪些类型。

struts2的源码中struts-default.xml文件有全部类型下边解释下:

类型

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.struts3.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


例子:

<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <package name="venderInterface" namespace="/venderInterface" extends="cardman-default">
        <action name="venderInterface_*" method="{1}" class="com.jd.card.web.action.venderInterface.VenderInterfaceAction">
            <result name="list">/WEB-INF/vm/venderInterface/venderInterface_list.vm</result>
            <result name="toList" type="chain">venderInterface_list</result>
            <result name="toAdd">/WEB-INF/vm/venderInterface/venderInterface_add.vm</result>
            <result name="toEdit">/WEB-INF/vm/venderInterface/venderInterface_edit.vm</result>
        </action>
    </package>
</struts>
解释下chain 这是一个action 链,就是一个action 走完后,接下另一个action 走,而且会把最后一个action 的数据带回到页面上.
<result name="toList" type="chain">venderInterface_list</result>注意这个节点里是某个action名字
两个action 传递参数(type="chain"):
第一个 action 值栈中的数据到第二个action 中会共享,不过两个action的中成员变量名字要一致(都得有set/get方法).
另一种赋值方式:直接向值栈中放/取下面代码:
 //传送参数用;
       放: ActionContext.getContext().put("venderId",cvi.getVenderId());
       取: ActionContext.getContext().getContextMap().get("key");
apache HttpServer 默认配置请求转发是项目根路径,如果项目中有另外路径访问地址:例如:webService 地址,如果不配置apache ,就访问不到这个URL(apache 转发请求是可配置的);


只有注册用户登录后才能发表评论。


网站导航: