json如何传递数据配置方式

方案一:

不使用struts2的json,

1:导入json需要的jar包:(5个)

2:在Action中写:

ServletActionContext.getRequest().setCharacterEncoding("UTF-8");

ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");

//查询是否是通过简记码和仓库ID进行查询,获取的唯一货物

Goods g = goodsService.searchGoods(goods);

//使用JsonConfig去掉不用的属性,因为集合和对象影响json的转换

JsonConfig config = new JsonConfig();

config.setExcludes(new String[]{"store","historys"});//过滤Goods对象的store和historys的属性

JSONObject object = null;

if(g!=null){

object = JSONObject.fromObject(g,config);

}

else{

g = new Goods();

object = JSONObject.fromObject(g,config);//转换成json数据时,Goods对象不能为null

}

//将服务器响应的数据返回到页面

PrintWriter out =ServletActionContext.getResponse().getWriter();

out.println(object.toString());

System.out.println(object.toString());

3:struts.xml文件

不需要做任何的配置

4:在jsp页面中写:

//获取简记码

var nm =$("#nm").val();

//获取仓库的id

var storeid =$("#storeid").val();

var jsonData ={"nm":nm,"storeid":storeid};

$.post("goodsAction_searchGoods.do",jsonData,function(data,textStatus){

data =eval("("+data+")");//如果不使用struts2的json传递数据,需要使用eval函数

if(data!=null){

$("#name").val(data.name);

$("#unit").val(data.unit);

$("#mode").val(data.mode);

$("#storeamount").html("库存数量:"+data.amount);

}

else{

$("#name").val("");

$("#unit").val("");

$("#mode").val("");

$("#storeamount").html("库存数量:"+0);

}

});

方案二:

使用struts2的json,

1:从struts2的包中,导入json需要的jar包:(1个)

2:在Action中写:

Goods g = goodsService.searchGoods(goods);

ServletActionContext.getContext().getValueStack().pop();

ServletActionContext.getContext().getValueStack().push(g);

return"search";

3:struts.xml文件

<actionname="goodsAction_*"class="goodsAction"method="{1}">

<resultname="search"type="json">

</result>

</action>

4:在jsp页面中写:

//获取简记码

var nm =$("#nm").val();

//获取仓库的id

var storeid =$("#storeid").val();

var jsonData = {"nm":nm,"storeid":storeid};

$.post("goodsAction_searchGoods.do",jsonData,function(data,textStatus){

if(data!=null){

$("#name").val(data.name);

$("#unit").val(data.unit);

$("#mode").val(data.mode);

$("#storeamount").html("库存数量:"+data.amount);

}

else{

$("#name").val("");

$("#unit").val("");

$("#mode").val("");

$("#storeamount").html("库存数量:"+0);

}

});

方案三:

public String selectResIp() throws IOException {

try {
            String requestParameters = ParametersUtils.getRequestParameters("resVal");
            if (!StringUtils.isEmpty(requestParameters)) {
                tbwsaddrlist = webSer.getAllAddr(requestParameters);
                tbwsuserlist = webSer.getAllUser(requestParameters);
                String serid = this.getstrSerid();
                if (!StringUtils.isEmpty(serid)) {
                    Tbwsser modify = webSer.modify(serid);
                    String addrlistss = modify.getAddrlist();
                    String userlistss = modify.getUserlist();
                    userMsgCheck = new Gson().toJson(userlistss);
                    addrMsgCheck = new Gson().toJson(addrlistss);
                } else {
                    addrMsgCheck = "";
                    userMsgCheck = "";
                }
                msg = new Gson().toJson(tbwsaddrlist);
                mrg = new Gson().toJson(tbwsuserlist);
            }
        } catch (Exception e) {
            log.error("根据资源位置获取所在的iP", e);
        }
        return "selectResIp";

}

strus.xml

<result name="selectResIp" type="json">
                <param name="includeProperties">msg,addrMsgCheck,userMsgCheck,mrg</param>
 </result>

private String msg;
    private String mrg;
    private String addrMsgCheck;
    private String userMsgCheck;

需要get set

jsp

function Resselect(){
        var resVal =  $("#resourcefield").val();
        var serid = $("#serids").val();
            $.post("webserManger_selectResIp.action",{"resVal":resVal,"serid":serid},
                    function(data){
                    var obj = eval("("+data.msg+")");
                    var objc = data.addrMsgCheck;
                    var userobj = eval("("+data.mrg+")");
                      var userobjc = data.userMsgCheck;
                      
                        $("#addrlistLi").remove();
                        str="";
                        str+=" <li id=‘addrlistLi‘>";
                        str+="<span class=‘list_name‘>资源名称:</span>";
                        for(var i =0 ;i<obj.length;i++){
                            if(objc.indexOf(obj[i].addrid)>=0){
                                str+="<input id=‘addrList‘
type=‘checkbox‘ checked=‘checked‘  name=‘userAddrList‘
value="+obj[i].addrid+"/>"
                                str+=""+obj[i].addrname+"";
                            }else{
                                str+="<input id=‘addrList‘ type=‘checkbox‘  name=‘userAddrList‘ value="+obj[i].addrid+">"
                                str+=""+obj[i].addrname+"";
                            }
                            str+="&nbsp;&nbsp";
                        }
                        str+= "<div class=‘clear‘></div>"
                         str+="</li>";
                            $("#descer").before(str);
                      
                   $("#userListssd").remove();
                    utr = "";
                    utr+="<li id=‘userListssd‘>";
                    utr+="<span class=‘list_name‘>用户名称: </span>";
                    for(var j=0;j<userobj.length;j++){
                        if(userobjc.indexOf(userobj[j].userid)>=0){
                            utr+="<input id=‘userList‘
type=‘checkbox‘ checked=‘checked‘ name=‘userNameList‘
value="+userobj[j].userid+"/>";
                            utr+=""+userobj[j].username+"";
                        }else{
                            utr+="<input id=‘userList‘ type=‘checkbox‘  name=‘userNameList‘ value="+userobj[j].userid+">";
                            utr+=""+userobj[j].username+"";
                        }
                       utr+="&nbsp;&nbsp";
                   }
                   utr +="<div class=‘clear‘></div>"
                   utr += "</li>";
                   $("#listport").after(utr);
                });

时间: 2024-10-18 07:52:36

json如何传递数据配置方式的相关文章

(四)ASP.NET MVC 中 Controller 给 View 传递数据的方式

1. ViewData: 以 ViewData["keyname"] = value 这样键值对的方式进行数据传送.在对应的 cshtml 中用 @ViewData["keyname"] 来获取值. 2. ViewBag: ViewBag 是 dynamic 类型的,是对 ViewData 的一人动态类型封装,用起来更方便,和 ViewData 共同操作一个数据 .在 Controller 中使用 ViewBag.keyname=value 来赋值,在 cshtml

Activity之间传递数据的方式及常见问题总结

转载请注明:大飞 http://blog.csdn.net/rflyee/article/details/47431633 Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量.(可以考虑 WeakReferences) 5. 持久化(sqlite.share preference.file等) 一.通过intent传递数据 (1)直接传递,intent.putExtra(key, value

Intent传递数据的方式

方式一:使用putExtra,在MainActivity中传输数据,在SecondActivity中输出数据: package com.dystu.intentdemo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { @Overri

js传递数据一些方式

1.用Image对象的src属性 var img = new Image(); img.src = "http://www.xxx.con/?data1=1"; 创建Image对象,通过其src属性可以向xxx地址传递数据,后台php可以通过GET方法获取src属性中“?”以后的数据. 2.script标签的src属性 var sc = document.createElement("script"); scr.type = "text/javascrip

后台前台json传递数据的方式两种方式 $.get, $.getJSON

第一种getJSON方式: 前台调用: <td><input type="text" class="t" id="edutitle" value="${e.edutitle }" onChange="showElement(this,'${e.id }')"> </td> function showElement(element,id){ $.getJSON("

C#开发的WebService使用JSON格式传递数据+Ajax测试

[C#]  WebService 使用 JSON 格式傳遞筆記 + JQuery 測試 0 2 因為一些因素,必須改寫WebService,很傳統,但是很多公司還在用.. 因為XML 的關係,不想讓他傳遞資料的時候過度肥大,所以我必須要盡量乾淨的JSON.. 於是開始我的改寫旅程.. 0 2 首先,網路上好多好多好多文件,可能因為狀況不同,測試過許多也讓我搞混很多次.. 最後有找到答案..筆記一下.. 0 2 首先我開了三個不同的WebMethod 來測試三種不同的輸出.. 0 2 GetUse

springMVC和json结合传递数据

1. 新建web project 2. 增加jar 3. 改写web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

ASP.NET MVC2中Controller向View传递数据的三种方式

转自:http://www.cnblogs.com/zhuqil/archive/2010/08/03/Passing-Data-from-Controllers-to-View.html 在Asp.net mvc开发中,Controller需要向View提供Model,然后View将此Model渲染成HTML.这篇文章介绍三种由Controller向View传递数据的方式,实现一个DropDownList的显示. 第一种:ViewData ViewData是一个Dictionary.使用非常简

android中activity之间传递数据的3种方式

在android开发中总是需要不停的传递数据,特别是不同的Activity之间.在这里小编介绍自己所知的3种Activity的跳转方式. 第一种:静态传递数据 直接上部分代码:在第一个Activity中 Intent intent = new Intent(); intent.setClass(MainActivity.this,SecondActivity.class); SecondActivity.usrname = "jack"; SecondActivity.password