struts2的result跳转类型



struts2的result跳转类型

1. Struts2支持的不同类型的返回结果为: 名字 说明 Chain Result 用来处理Action链

Dispatcher Result 用来转向页面,通常处理JSP

FreeMarker Result 处理FreeMarker模板

HttpHeader Result 用来控制特殊的Http行为

Redirect Result 重定向到一个URL

Redirect Action Result 重定向到一个Action

Stream Result 向浏览器发送InputSream对象,通常用来处理文件下载

Velocity Result 处理Velocity模板

XLS Result 处理XML/XLST模板

PlainText Result 显示原始文件内容,例如文件源代码

S2PLUGINS:Tiles Result 结合Tile使用

2.struts.xml


<?xml version=”1.0″ encoding=”UTF-8″ ?> <!DOCTYPE struts PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 2.3//EN” http://struts.apache.org/dtds/struts-2.3.dtd“>

<struts>

<constant name=”struts.enable.DynamicMethodInvocation” value=”false” /> <constant name=”struts.devMode” value=”true” /> <constant name=”struts.i18n.encoding” value=”UTF-8″></constant>   <package name=”default” namespace=”/” extends=”struts-default”> <default-action-ref name=”default”></default-action-ref> <action name=”default” > <result name=”ok” type=”dispatcher”> /WEB-INF/jsp/ok.jsp </result> </action> <!– dispatcher转发,web服务器完成跳转 –> <action name=”r1″ > <result name=”ok” type=”dispatcher”> /WEB-INF/jsp/r1.jsp </result> </action> <!– redirect重定向由浏览器完成–> <action name=”r2″ > <result name=”ok” type=”redirect”> /r2.jsp </result> </action> <!– chain 用于把相关的几个action连接起来,共同完成一个功能。 –> <action name=”r3″ > <result name=”ok” type=”chain”> r1 </result> </action> <!– redirectAction 结果类型使用ActionMapperFactory提供的ActionMapper来重定向请求到另外一个action –> <action name=”r4″ > <result name=”ok” type=”redirectAction”> <param name=”namespace”>/</param> <param name=”actionName”>r1</param> </result> </action> </package> </struts>

二.global-results全局result

1、extends是继承package <package name=”globalresults” namespace=”/” extends=”struts-default”>   <global-results> <result name=”global“>/WEB-INF/jsp/error.jsp</result> </global-results> </package> <package name=”test” namespace=”/” extends=”globalresults”> <action name=”test” > <result name=”ok”> /WEB-INF/jsp/ok.jsp   </result> </action> </package>

2.使用全局result

public class IncludeModel extends ActionSupport { @Override public String execute() throws Exception { // TODO Auto-generated method stub return “global“; } }

访问:http://localhost:8080/struts2_2/test但是test.action中result不是”global”,所以使用global-results