一. 前台(JS  面向对象)

1. 定义SearchView对象

function SearchView() {
}
SearchView.prototype.setViewName = function (viewName) {
    this.viewName = viewName;
}
SearchView.prototype.setViewType = function(viewType) {
    this.viewType = viewType;
}
SearchView.prototype.conditionList = new Array();//******conditionlist是一个对象数组,注意它的使用方法
 
SearchView.prototype.setCriteria = function (criteria) {
    this.criteria = criteria;//******creteria
也是对象,详细更searchview对象定义类似,注意它的使用方法
}
 
SearchView.prototype.setTenant = function(tenant) {
    this.tenant = tenant;
}

2. 把值设进SearchView对象中

var searchView = new SearchView();
    searchView.setViewName(viewName);
    searchView.setViewType(viewType);
    searchView.setCriteria(criteria);
    searchView.setTenant(tenant);
    searchView.conditionList = conditionList;

3. 关于conditionList对象数组定义并设进SearchView对象中:

var conditionList = new Array();
   $.each(conditionList, function (index, condition) {
        condition.fieldName = fieldName ;
        condition.operatorTxt = operatorTxt ;
        condition.fieldInfoTxt = fieldInfoTxt ;
        condition.conditionValue =$.trim(condition.conditionValue);
    });
    searchView.conditionList = conditionList;

4. ajax 提交表单到后台,注意红色部分,这是须要JSON序列化string之后提交到后台然后解析为java bean

 $.ajax({
        url:home + 'UserSearchViewAction.do?

operation=update',

        type:'POST',
        dataType:'json',
        data:{
            'searchView':JSON.stringify(searchView)//*********注意,须要序列化对象后提交到后台
        },
        success:function (data) {
           
        }
    });

二、后台

1.定义对应的bean对象

searchView.java

String viewName;
    String viewType;
    List<Condition> conditionList;
    String tenant;
    Criteria criteria;

Condition.java

private String conditionValue;
    private String fieldName;// field name
    private String operatorTxt; //operator value
    private String fieldInfoTxt;//field value

Criteria.java

 
int viewId;
    String logicType;
    String advanceFilter;
    int criteriaType;

2.处理传过来的json对象并转换为javabean

 // parse jsonString to SearchView Object
        String searchViewJSON = request.getParameter("searchView");
         
        ObjectMapper objectMapper = new ObjectMapper();
        SearchView searchView = objectMapper.readValue(searchViewJSON, SearchView.class);

OK  到眼下位置,json转换为javabean的样例就做完了。最后展示下json对象实例

{
    "viewName""t1"
    "viewType""Dynamic"
    "criteria": {
        "logicType""AND"
        "advanceFilter""1"
    }, 
    "tenant""DarlenSC"
    "conditionList": [
        {
            "fieldName""Active"
            "operatorTxt""Is not empty"
            "fieldInfoTxt"""
            "fieldId""8"
            "conditionValue"""
            "operation""ISNOTNULL"
            "conditionOrder"1
        }
    ]
}

JSON连载java目的的更多相关文章

  1. Json for Java API学习

    首先声明:本文来个非常多网友的博客,我通过參考了他们的博客,大致的了解了一些项目中经常使用的Json in java 类和方法,以及关于json的个人理解 个人对json的一些简单理解 在近期的学习中 ...

  2. android开发中json与java对象相互转换

    json与java对象的相互转换.(使用com.google.gson) 在Android开发过程中,客户端总是需要从服务器获取数据,包括XML和json格式,目前json格式的数据使用较为普遍,所以 ...

  3. JSONObject.fromObject(map)(JSON与JAVA数据的转换)

    JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.) 上一篇文章中有这么 ...

  4. json学习系列(8)JSON与JAVA数据的相互转换实例

    一.完整案例 先定义一个java实体对象,如下: package com.pcitc.json.cnblog; /** * SimInfo实体对象 * * @Description * @author ...

  5. JSON 与JAVA对象之间的转换(转)

    JSON与XML两者目前在数据交互方面都有很高的使用率,随着现在SOA的兴起,异构系统的整合地位相应提高,本篇文章主要介绍JSON与JAVA对象之间的相互转换. 一.对普通类型的JSON模式的转换 一 ...

  6. net.sf.json.JSONException: java.lang.NoSuchMethodException

    在尝试将json对象转换为list时候出现了如下错误 Exception in thread "main" net.sf.json.JSONException: java.lang ...

  7. JSON与JAVA数据的相互转换

    http://www.cnblogs.com/linjiqin/archive/2011/09/19/2181408.html import net.sf.json.JSONArray; import ...

  8. JSON和JAVA的POJO的相互转换【转载】

    该类中用用到的jar包:参加文章<使用json-lib进行Java和JSON之间的转换[转载]> import java.util.Collection; import java.util ...

  9. json解析异常 - net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

    注:在项目中, 我使用原生的ajax请求数据的时候, JSONObject没能帮我解析, 当却不给我报错, 我是在junit单元测试中测试的时候, 发现的.发现好多时候, 特别是通过ajax请求, 不 ...

随机推荐

  1. SE 2014年4月25日

    1. 描述 STP 的计算过程 (1.根桥的选举 2.端口角色的确定) 根桥的选举 启用STP后,网络中桥ID最小的交换机会被选为根桥,桥ID由桥优先级和桥MAC两部分组成,优先级默认为32768,首 ...

  2. redis加入到Windows 服务

    1.cmd命令  安装命令: redis-server.exe --service-install redis.windows.conf --loglevel verbose  卸载命令:  redi ...

  3. Knockout应用开发指南 第三章:绑定语法(3)

    原文:Knockout应用开发指南 第三章:绑定语法(3) 12   value 绑定 目的 value绑定是关联DOM元素的值到view model的属性上.主要是用在表单控件<input&g ...

  4. Java的图片处理工具类

    import Java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...

  5. excel单元格中批量加入固定字符

    excel单元格前怎么批量加字母 现在我要在联系人这列,每个姓名前加入衡阳的首字母简写(HY). 3 在同行上面随便找列,我找D列.输入公式:="HY"&A2. 5 输入后 ...

  6. art patchoat

    Add patchoat tool to Art. Add a new executable called patchoat to art. This tool takes alreadycompil ...

  7. Tier和Layer

    在实际开发工作中.我们经常听到"架构设计"和"架构师"这种名词,它并不新奇和神奇,可是却非常少有人对"架构"有全面的了解和认识.更谈不上掌握 ...

  8. Linux下hp打印机驱动hplip分析

    Hplip分析 版本号是2.14,源代码位置:http://hplipopensource.com. 图的来源:http://hplipopensource.com/node/128. 实践中使用的打 ...

  9. 数据库的group by 分组

    有一个表 查询结果为 用下面的代码写 select COUNT( case NumName when 'a' then NumName end ) as 'aaa', COUNT( case NumN ...

  10. JavaScript三在弹出的对话框中

    据悉js小伙伴会发现,我们在某些情况下使用的alert()办法.prompt()办法.prompt()办法.它们在屏幕上的对话框.容,使用这样的方法使得页面的交互性更精彩.实际上我们常常会在进行网页浏 ...