Struts2-学习篇二

来源:互联网 发布:网站域名备案要多久 编辑:程序博客网 时间:2024/06/14 05:59

今天来了解一下Struts常用的结果视图类型以及自定义结果视图类型和配置

1.Result元素

1.1 结果视图返回类型

这里写图片描述

1.2result 结构

<result  name="逻辑视图名" type="返回类型">        <!-要跳转的视图名或需要跳转到哪个Action --></result>

1.3常用结果视图类型使用

1. dispatcher:内部请求转发,也是Struts2默认行为同request.getRequestDispatcher("url").forward(request, response)没区别2. redirect:从定向 request域数据丢失地址栏发生改变 值栈里存的数据也将丢失,ValueStack的生命周期和request域是一样的3. chain : 用于跳到另一个Action  request域和ValueStack数据不丢失4. redirectAction:从定向到一个Action 参数 namespace 和 actionName5. stream:通常用于文件下载  
<result name="success" type="stream">    <!--contentType 响应消息头 响应类型-->    <param name="contentType">image/octet-stream</param>    <!--inputName文件输入流的名字 我在Action定义的名字叫inputstream-->    <param name="inputName">inputstream</param>    <!--contentDisposition 告知客户端以下载的形式打开-->    <param name="contentDisposition">attachment;filename=${filename}</param></result>

1.4 用的较少的结果类型

1. freemaker              处理FreeMarker模板2. httpheader             控制特殊HTTP行为的结果类型 3. Velocity               处理Velocity模板4. XLS                    处理XML/XLST模板5. PlainText              显示原始文件内容,例如文件源代码

2.自定义结果视图 简单的为他输出一句话

java代码

package com.java1995.result;import org.apache.struts2.ServletActionContext;import org.apache.struts2.dispatcher.StrutsResultSupport;import com.opensymphony.xwork2.ActionInvocation;//继承StrutsResultSupport抽象类实现 doExecute方法public class ResultDemo extends StrutsResultSupport {    @Override    protected void doExecute(String arg0, ActionInvocation arg1) throws Exception {        // TODO Auto-generated method stub        ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");        ServletActionContext.getResponse().getWriter().append("Custom results view");       }}

sttuts.xml

<result-types>    <result-type name="cust"class="com.java1995.result.ResultDemo"/></result-types><action name="resultView" >    <result name="success" type="cust"></result></action>

运行结果
这里写图片描述

原创粉丝点击