解决方案 »

  1.   

    alert(data[0].judge);这个有值输出没有。
      

  2.   


    $.ajax({  
    type: "POST",  
    url:"LoginAction.action", 
    data:{"id":$("#id").val(),"psw":$("#psw").val()}, 
    dataType:'json',
    success: function(data){
               alert(data);
               }    
    )
    你看看这样
      

  3.   

    alert("yes");是能输出的,说明回调函数能被正确调用,但是我就搞不懂action里面怎么用Gson或者是json将值传到前台页面,然后用上面我写的data[0].judge的方式输出来!
    你说的这种方式其实是类似于我那种方法的,只不过你这个更加清晰明了!我感觉是我action里面的问题!不知道action里面如何封装data然后返回?
      

  4.   

    你的action是啥样的?可以写入到流内,页面是可以获取的。
      

  5.   

    public String execute() throws IOException{
    System.out.println(id+"  "+psw);
    if(coi.LoginValidation(id, psw)){
    System.out.println("yes!");

    String data="{\'judge\':1}";
    Gson gson=new Gson();
    gson.fromJson(data, Gson.class);
    System.out.println(data.toString());
    }else{
    System.out.println("no!");
    }
    return "success";
    }能得到alert("yes");的内容,但是得不到judge对应的值,是封装返回的问题!
      

  6.   

    dataType: "json",加上这个。
    同时如果不行,用javascript将字符串转化为json
      

  7.   

    感觉你推荐的这种方式的传值显得太繁琐了!我以前做过json传值到前台的案例,只是目前资料找不到了!那种的方法大体上就同于我一开始的想法,没有涉及到struts里面的配置!直接使用json或者是Gson转换,然后在前台用data[].变量名的方式输出就可以了!不过还是谢谢版主了,呵呵!
      

  8.   

    如果就用我前台界面写的那种方式咋做呢?我的意思是:后台怎么用Gson封装转换?
      

  9.   

    嗯,这个案例我在网上找到过,不过一般不怎么用servlet(虽然有很多就是servlet的模式,但是不喜欢直接用的那种)
      

  10.   

    response.getWrite.write(data.toString())
      

  11.   

    $.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){
                alert("yes!");
          var val= eval(data);
                alert(val[judge]);
            },"json");你的字符串也转不成数字不能用data[0]取值。
    如果你的字符到前台了 ,这眼更就能输出了。
      

  12.   

    你的后台写法对吗  ajax 还有return?
      

  13.   

    response.setCharacterEncoding("utf-8");
    PrintWriter pw = response.getWriter();
    pw.print(json);
    pw.flush();后台的字符串这样输出,你用ajax 就不用转发了。直接return null ;就行了
      

  14.   

    嗯,我就是不知道怎么给的,就使用Gson或者是json封装的这种形式,不用servlet这种,请多多指教!
      

  15.   

    a code
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        public String execute() throws IOException{
            System.out.println(id+"  "+psw);
            if(coi.LoginValidation(id, psw)){
                System.out.println("yes!");
                 
            String data="{\'judge\':1}";            
            Gson gson=new Gson();
            gson.fromJson(data, Gson.class);
            System.out.println(data.toString());
    response.setCharacterEncoding("utf-8");
    PrintWriter pw = response.getWriter();
    pw.print(data);
    pw.flush();
            }else{
                System.out.println("no!");
            }
            return null;
    }你先这样写 试试 。
    gson.fromJson(data, Gson.class)这是将json转成Bean.ajax只能返回字符串。不能返回Bean.  
      

  16.   

    这种不行,不过我已经弄出来了,是借用了一个response的util工具类,然后将json格式的字符串发送到了前台!其实就很简单的概念,做起来却很费力!
      

  17.   

    楼主可否把这个response的util工具类贡献一下呢,或者提供下载链接也可啊
      

  18.   

    你的代码向后台传输了两个值 id和psw,对于judge是没有的,如果你只改js,永远都数不出judge
    1、你要明白data是什么
    2、data是怎么来的
    3、后台怎么输出json数据你这里明显是传入编号和密码,后台通过判断之后输出一个json字符串,这个json字符串包含judge字段,才能有judge输出,明白么?
    你要是搞不定最好把后台代码贴出来~~~
      

  19.   

    struts框架都是版主给的地址这样用的。-
      

  20.   

    struts框架都是版主给的地址这样用的。-也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!
      

  21.   

    你的代码向后台传输了两个值 id和psw,对于judge是没有的,如果你只改js,永远都数不出judge
    1、你要明白data是什么
    2、data是怎么来的
    3、后台怎么输出json数据你这里明显是传入编号和密码,后台通过判断之后输出一个json字符串,这个json字符串包含judge字段,才能有judge输出,明白么?
    你要是搞不定最好把后台代码贴出来~~~
    你说的这些我都知道啊,而且的话,我上面代码也贴出来了,只是你自己没看吧!我的错误点就是在于action里面将符合json格式的字符串不能传回到前台这个点上面,而不是不清楚json传数据的一个模式!
      

  22.   

    struts框架都是版主给的地址这样用的。-也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。
      

  23.   

    struts框架都是版主给的地址这样用的。-也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。我是直接从登陆界面传数据到后台,由后台进行判断,然后返回判断数据到登陆界面的回调函数里面,通过结果来进行页面的不同跳转!
      

  24.   

    struts框架都是版主给的地址这样用的。-也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。我是直接从登陆界面传数据到后台,由后台进行判断,然后返回判断数据到登陆界面的回调函数里面,通过结果来进行页面的不同跳转!使用struts-json-plugin.jar时 Action类中JSON的生成机制这种方式struts不会跳转页面
      

  25.   

    struts框架都是版主给的地址这样用的。-也有不是这样实现的,不一定要用map来封装对象,也不一定要在struts里面进行配置!哈哈。流程是这样的,因为用起来很方便嘛。如果不使用struts-json.jar的话,除了用PrintWriter pw = response.getWriter();这样返回页面。还有一种就是将json格式传到一个公用页面,然后页面回调的时候去那个页面取。我是直接从登陆界面传数据到后台,由后台进行判断,然后返回判断数据到登陆界面的回调函数里面,通过结果来进行页面的不同跳转!使用struts-json-plugin.jar时 Action类中JSON的生成机制这种方式struts不会跳转页面我前台使用jQuery中的post方式调用action结合struts来进行跳转的!在回调函数中,我可以用传过来的值进行页面的相关跳转,然后把参数传过去就行!
      

  26.   

    protected void json(Map<String, Object> result) throws Exception {
    if (result == null || result.size() == 0)
    json("{}");
    else
    json(new Gson().toJson(result));
    }   //JOSN转换
    protected void json(List<Map<String, Object>> results) throws Exception {  
    if (!(results.size() > 0)) {
    results = null;
    }      
      json(new Gson().toJson(results)); 

    protected void json(String json) throws Exception {   
    if (json == null || json.equals("")) {
    json = "[]";

    response.setContentType("application/json;charset=utf-8"); 
    PrintWriter out = response.getWriter();    
    if (!(json == null || json.equals("[]")|| json.equals(""))) { 
    out.print(json);      
    out.flush();
    out.close();
    }  
      

  27.   

    protected void json(Map<String, Object> result) throws Exception {
    if (result == null || result.size() == 0)
    json("{}");
    else
    json(new Gson().toJson(result));
    }   //JOSN转换
    protected void json(List<Map<String, Object>> results) throws Exception {  
    if (!(results.size() > 0)) {
    results = null;
    }      
      json(new Gson().toJson(results)); 

    protected void json(String json) throws Exception {   
    if (json == null || json.equals("")) {
    json = "[]";

    response.setContentType("application/json;charset=utf-8"); 
    PrintWriter out = response.getWriter();    
    if (!(json == null || json.equals("[]")|| json.equals(""))) { 
    out.print(json);      
    out.flush();
    out.close();
    }  
    } 类似差不多,但是你这属于逐一解析json格式字符串了,所以是培训应该不会比较好,我感觉!
      

  28.   

    http://download.csdn.net/detail/ganshenml/6971413
    已经弄好了,是关于前台到后台,后台到前台的,有心的话可以下载看看,多多指出意见!