Code Bye

Struts2 如何用json 返回多个值

我现在在做服务器端  用struts hibernate做的

然后要返回 一些string 和 图片流。

我不知道如何同时返回他们。

之前打算用json返回 结果json返回到手机端的时候 图片流的byte数组 就自动为空了。

所以该怎样做了,不用json返回也可以。但是不打算单独返回图片流。

#2

回复1楼:

不用管手机端   就是单纯的怎么从struts里面传出来?

#3
我也做过手机后台,没做过这样的,都是分开,图片和文字用两个方法,两种返回去做.
#4

20分

回复1楼:

好吧 出去移动端不管 方法一: 我给你网上搜了几行代码:这里他们应该是用到某个json框架,如果你可以这么用就用

 JSONObject json=new JSONObject();  

        json.accumulate(“success”, true);  

        json.accumulate(“user”, user);  

        out.println(json.toString());  

//      因为JSON数据在传递过程中是以普通字符串形式传递的,所以我们也可以手动拼接符合JSON语法规范的字符串输出到客户端  

//      以下这两句的作用与38-46行代码的作用是一样的,将向客户端返回一个User对象,和一个success字段  

//      String jsonString=”{“user”:{“id”:”123″,”name”:”JSONServlet”,”say”:”Hello , i am a servlet !”,”password”:”JSON“},”success”:true}”;  

//      out.println(jsonString);  

        out.flush();  

        out.close();  

方法二:定义一个model对象,把你String和byte[]  都放进入,用你项目中现在相关的方式转换为json对象,你前段接受。

#6
图片,可否返回图片地址?
#7
直接让图片变成外网可访问的图片地址,返回图片地址就可以了
#8

回复6楼:

如果你是个手机app应用的话  除非是用浏览器  一般的手机应用好像只能用流传输。

不知道对不对

#10
可以将需要传递的数据设置到Map中,传递给result对象,struts2对自动将Map对象转化为json格式,但是struts2的配置文件需要这样配置  
                    <package name="student" extends="struts-default,json-default">
                    

                    <action name="findAllStudent" method="findAllStudent" class="studentAction">
                    

                    <!-- 返回json类型数据 -->
                    

                    <result type="json">
                    

                    <!-- result是action中设置的变量名,也是页面需要返回的数据,该变量必须有setter和getter方法 -->
                    

                    <param name="root">result</param>
                    

                    </result>
                    

                    </action>

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Struts2 如何用json 返回多个值