Struts2:stream和json类型的返回

来源:互联网 发布:ps软件在线升级 编辑:程序博客网 时间:2024/06/03 15:56

Action代码片段

public class AjaxAction extends ActionSupport{    private User user;    private InputStream result;    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    public InputStream getResult() {        return result;    }    public void setResult(String resultStr) {        try{            this.result=new ByteArrayInputStream(resultStr.getBytes("UTF-8"));        }        catch(Exception e){            e.printStackTrace();        }    }    public String getStream(){        this.setResult("success");        return SUCCESS;    }    public String getJson(){        user=new User("1","sisu");        return SUCCESS;    }}

struts.xml配置

    <package name="ajax" extends="json-default"><!-- 继承json-default -->        <action name="getStream" class="com.action.AjaxAction"             method="getStream">            <result name="success" type="stream">                <param name="contentType">text/html</param>                <param name="inputName">result</param>            </result>        </action>        <action name="getJson" class="com.action.AjaxAction"             method="getJson" >            <result name="success" type="json">                <param name="root">user</param>                <param name="noCache">true</param>            </result>        </action>    </package>

页面js代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>struts的ajax应用</title>    <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>    <script type="text/javascript">    $(function(){        $(".getstream-btn").click(function(){            $.ajax({                url:"getStream",                type:"GET",                success:function(data){                    alert(data);                }            });        });        $(".getjson-btn").click(function(){            $.ajax({                url:"getJson",                type:"GET",                success:function(data){                    alert(JSON.stringify(data));                }            });        });    });    </script>  </head>  <body>    <a href="javascript:void(0);" class="getstream-btn">获取stream类型返回结果</a><br/>    <a href="javascript:void(0);" class="getjson-btn">获取json类型返回结果</a>  </body></html>

返回json结果时注意导入json插件:struts2-json-plugin-xxx.jar

原创粉丝点击