怎么用Struts2的Action接受Jquery的请求,返回json数据和大批数据?

解决方案 »

  1.   

    struts2接受prototype请求返回json不行吗。
      

  2.   

    要用json,首先加载jsonplugin.jar.然后
    <package name="" extends="json-default">
    <action name="text" class="Text">
    ....
    </action>
    </page>
    这样就可以接受json格式,并返回json格式
      

  3.   

    $.ajax({
    url:'user!login.action',
    data:{username:$("#username").val()},
    dataType:json
    });
    然后action里面
    response.setContentType("aplication/json");
    response.getWriter().write(yourContent);
      

  4.   

    struts2, prototype.js json1.整合json:struts2-json-plugin-x.x.x.jar放在lib目录下。2.struts.xml配置:<package name="ajaxj" extends="json-default" namespace="/ajaxj"> <action name="AJR001" method="doRequest" class="ajr001Action">
    <result type="json" />
    </action></package>3.jsp写法:1.画面引用prototype.js2.画面加入以下js:<script type="text/javascript">

    // Jsonテスト
    function jsonTest() {    var url = "/项目名/ajaxj/AJR001.action";
        new Ajax.Request(url, 
            {  method:'post', 
               onComplete:result,
               asynchronous:true
            }
        );
    }function result(trans) {    
        var result = eval("(" + trans.responseText + ")");  
        document.getElementById("jsonName").value = result.name;      
    } </script>3.表单形式:<s:textfield name="jsonName" id="jsonName"></s:textfield>
    <input type="button" onclick="jsonTest();"/>
      

  5.   

    谢谢了各位。
    jquery 怎么把一个json对象转成String我这样做总是提示少']'
    var dataObj = eval("("+msg+")");
      

  6.   

    01.//1.如果返回的是JSONArray对象,那么用下面的方法打出来值  02./*  03.$.getJSON("../servlet/JqueryServletForJson",{t:new Date()},function(data){  04.var len = $(data).length;  05.for(var i=0;i&ltlen;i++){  06.$("#responseText").append($(data).get(i)+",");  07.}  08.});  09.*/  10. 11.//2.如果返回的是JSONObject对象,无论是返回通过Map构造的还是JavaBean构造的  12./*  13.$.getJSON("../servlet/JqueryServletForJson",{t:new Date()},function(data){  14.var name = data.name;  15.var age = data.age;  16.var address = data.address;  17.var phone = data.phone;  18.var mobile = data.mobile;  19. 20.$("#responseText").append("name: " + name +", age: " + age +  21.", address: " + address+", phone: " + phone + ", mobile: " + mobile);  22.});  23.*/  
      

  7.   

    格式没贴好。
    1.如果返回的是JSONArray对象,那么用下面的方法打出来值  
    $.getJSON("../servlet/JqueryServletForJson",{t:new Date()},function(data){  
    var len = $(data).length;  
    for(var i=0;i&ltlen;i++){ 
    $("#responseText").append($(data).get(i)+",");  
    }  
    }); 
    2.如果返回的是JSONObject对象,无论是返回通过Map构造的还是JavaBean构造的 
    $.getJSON("../servlet/JqueryServletForJson",{t:new Date()},function(data){  
    var name = data.name;  
    var age = data.age; 
    var address = data.address;  
    var phone = data.phone;  
    var mobile = data.mobile;  
    $("#responseText").append("name: " + name +", age: " + age +  
    ", address: " + address+", phone: " + phone + ", mobile: " + mobile);  
    });   
      

  8.   

    // Jsonテスト
    text.....对日外包的
      

  9.   

    $.getJSON("...Action.do", {id:'0'}, callBack);