• struts2中数据的传输


    1.传统的写多个request接受参数方法。

    2.struts2中的多个setter方法,getter方法

    3.利用实体bean,让strut2 实例bean,少写setter方法,getter方法,表单name前面要加对象。如果action实现了ModelDriven接口,那么表单name前面不用加对象

      

             1,2,3三种,为 form 表单传输或者通过URL地址添加参数传输,地址栏发生改变。

    4. 利用Ajax中json数据格式进行异步传输(地址栏不发生改变):一般用于执行某操作之后,回调函数接受返回的消息,然后进行跳转。或通过回调函数接受返回的数据内容,加载到本页面。

    5.

    response.getWriter().write("{"msg":true}");
    response.getWriter().write(JSONObject.fromObject("{msg:" + true + "}").toString());

    这两种方式都可以,第一种多写一些双引号,json字符串的原始形式,第二种不是的,所以需要转型下。对象就是用这种转型,response.getWriter().write(JSONObject.fromObject(对象).toString());

    list集合,就是response.getWriter().write(JSONObject.fromObject(list集合).toString())这样。

    6.json接受和传送例子:

    接受:  

    JSONObject jsonobject = JSONObject.fromObject(json);
    System.out.println(jsonobject.get("score"));
    StudentBean sb=(StudentBean)JSONObject.toBean(jsonobject,StudentBean.class);
    System.out.println(sb.getName());

    传送:

    System.out.println(JSONObject.fromObject(sb));
    response.setContentType("application/json; charset=utf-8");
    //response.getWriter().write("{"name":"李鹏","score":1470,"xuehao":12212}");
    response.getWriter().write("{"msg":true}");
    response.getWriter().write(JSONObject.fromObject("{msg:" + true + "}").toString());
    response.getWriter().close();

    js端的:

    $.post("student_add", {
    json:jsonString
    }, function(data) {
    /*if(data.msg){
    alert("保存成功");
    window.location.href="stockholder_list";
    //window.location.reload();
    }else{
    alert("保存失败")
    }*/
    //alert(data);
    //alert(typeof(data));
    //alert(data);
    //if(data.valueOf("123")){
    // alert("nihao");
    //}

    if(data.msg){
    alert("保存成功");
    window.location.href="student_list";
    }else{
    alert("保存失败")
    }

    /*alert(data.name);*/

    });

    Ajax网址:http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html

    $.ajax({})例子:

    $(".cha").click(function() {
         var obj=new Object();
       obj.username=$("input[name=username]").val();
       var jsonString=JSON.stringify(obj);
       alert(jsonString);


      $.ajax({
       type:"post",
       url:"student_listByName",
       data:{json:jsonString},
       dataType:"json"
      });
      
     
      })

    $.ajax()中传入是对象,与$.get().$.post()不一样,功能上更全。

    $.get().$.post()中数据形式为:{json:jsonString} $.ajax中数据格式为:data:{json:jsonString},看来都必须是{key:value}形式,服务器端接收就是接收key,如果数据比较多,value就可以key/value的组合形式。

    7.乱码解决问题的几种情况:tomcat服务器的编码,request设置编码,struts国际化设置编码,过滤器统一设置编码,数据库中编码设置。

    8.jQuery 学习网址:http://www.jbxue.com/jb/jquery/

  • 相关阅读:
    总结(1)--- 数据库
    在路上---学习篇(一)Python 数据结构和算法 (4) --希尔排序、归并排序
    在路上---学习篇(一)Python 数据结构和算法 (3) --快速排序
    在路上---学习篇(一)Python 数据结构和算法 (2) -- 冒泡排序、选择排序、插入排序
    javascript观察者模式
    es6对象的扩展
    es6数组的扩展
    vue全局API
    javascript原型链
    简单工厂,工厂方法模式
  • 原文地址:https://www.cnblogs.com/lipengsheng-javaweb/p/4113476.html
Copyright © 2020-2023  润新知