struts中的结果集类型Result

来源:互联网 发布:led显示屏软件通用版 编辑:程序博客网 时间:2024/05/17 09:31

结果集类型 Result

一、自定义结果集处理类型

dispatcher

MyDispatcher:
package cn.itcast.c_resulttype;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import org.apache.struts2.dispatcher.StrutsResultSupport;import com.opensymphony.xwork2.ActionInvocation;public class MyDispatcher  extends StrutsResultSupport{@Override//参数1 要转发的路径//参数2 小蜜:ActionInvocationprotected void doExecute(String path, ActionInvocation ai)throws Exception {//1 获得request对象HttpServletRequest req = ServletActionContext.getRequest();HttpServletResponse resp = ServletActionContext.getResponse();//2 调用request转发方法req.getRequestDispatcher(path).forward(req, resp);}}

struts.xml:
<package name="resulttype" namespace="/resulttype" extends="struts-default"  ><result-types><!-- 自定义结果处理类 --><result-type name="dispatcher2" class="cn.itcast.c_resulttype.MyDispatcher"></result-type></result-types><!-- 转发 --><action name="Demo1Action" class="cn.itcast.c_resulttype.Demo1Action" method="execute" ><result name="success" type="dispatcher2" >/index.jsp</result></action><!-- 重定向 --><action name="Demo2Action" class="cn.itcast.c_resulttype.Demo2Action" method="execute" ><result name="success" type="redirect" >/index.jsp</result></action>

plainText

<!-- 纯文本 --><action name="Demo3Action" class="cn.itcast.c_resulttype.Demo3Action" method="execute" ><result name="success" type="plainText" ><!--  参数注入 --><param name="charSet">UTF-8</param><param name="location">/index.jsp</param></result></action>

stream

struts.xml:
<action name="Demo4Action" class="cn.itcast.c_resulttype.Demo4Action" method="execute" ><result name="success" type="stream">   <param name="contentType">application/zip</param> <!-- 告诉浏览器,提供的文件的map类型  -->   <param name="inputName">zip</param>
                                                   <!-- 填写一个流的名称,该流的名称需要在action中提供出对应的get方法 ,从action中取出这个流 -->
<param name="contentDisposition">attachment;filename="apache-tomcat-6.0.35.zip"</param> <param name="bufferSize">10240</param> </result></action>

action:
package cn.itcast.c_resulttype;import java.io.InputStream;import java.util.Map;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.interceptor.ServletResponseAware;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionSupport;public class Demo4Action extends ActionSupport{public InputStream getZip(){//1读取文件流//需要servletContextServletContext sc = ServletActionContext.getServletContext();InputStream is = sc.getResourceAsStream("/WEB-INF/apache-tomcat-6.0.35.zip");//2 返回return is;}public String execute(){return SUCCESS;}}


redirectAction:

action:
package cn.itcast.c_resulttype;import java.io.InputStream;import java.util.Map;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.interceptor.ServletResponseAware;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionSupport;public class Demo5Action extends ActionSupport{public String execute(){return SUCCESS;}}

struts.xml:
<!-- 重定向到指定Action --><action name="Demo5Action" class="cn.itcast.c_resulttype.Demo5Action" method="execute" ><result name="success" type="redirectAction"><param name="actionName">Demo3Action</param><param name="namespace">/resulttype</param></result></action>







0 0
原创粉丝点击