Struts2的result-type

来源:互联网 发布:小蚁科技有限公司 知乎 编辑:程序博客网 时间:2024/04/30 09:18

查看struts-default.xml文件,可以看到如下配置:

<span style="white-space:pre"></span><result-types>            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>            <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>            <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>            <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>            <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>            <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>            <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>            <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>            <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>            <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />        </result-types>
其中chain是action级别的跳转,比如跳转到同一package下的其它action:

<span style="white-space:pre"></span>    <action name="action1">    <result type="chain">action2</result>    </action>

如果跳转到其他package下,看如下配置:

           <action name="action1">    <result type="chain">    <param name="actionName">action2</param>    <param name="namespace">/myspace</param>    </result>        </action>
即添加参数,指定actionName和namespace。

dispatcher用来跳转页面,也是默认值,比如下面的跳转:

  <span style="white-space:pre"></span>    <action name="action1">    <result type="dispatcher">/test.jsp</result>    </action>

freemarker用来处理freemarker模板。

httpheader控制特殊http行为的结果类型。

redirect重定向新的页面,比如:

 <span style="white-space:pre"></span>     <action name="action1">    <result type="redirect">/test.jsp</result>    </action>
redirectAction是action级别的跳转,比如:

            <action name="action1">    <result type="redirectAction">action2</result>    </action>
stream通常处理文件下载等。

velocity用来处理velocity模板。

xslt处理XML/XSLT模板。

plainText显示原始内容。


注意:这里要区分客户端跳转和服务器端跳转的区别。




0 0
原创粉丝点击