zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    Call KernelIoControl in user space in WINCE6.0
    HOW TO:手工删除OCS在AD中的池和其他属性
    关于新版Windows Server 2003 Administration Tools Pack
    关于SQL2008更新一则
    微软发布3款SQL INJECTION攻击检测工具
    HyperV RTM!
    OCS 2007 聊天记录查看工具 OCSMessage
    CoreConfigurator 图形化的 Server Core 配置管理工具
    OC 2007 ADM 管理模板和Live Meeting 2007 ADM 管理模板发布
    Office Communications Server 2007 R2 即将发布
  • 原文地址:https://www.cnblogs.com/lipengsheng-javaweb/p/4113476.html
Copyright © 2011-2022 走看看