欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識(shí)庫 > 使用Ajax或Easyui等框架時(shí)的Json-lib的處理方案

使用Ajax或Easyui等框架時(shí)的Json-lib的處理方案

熱門標(biāo)簽:電銷機(jī)器人 長春 怎樣在地圖標(biāo)注文字 河間市地圖標(biāo)注app 中國地圖標(biāo)注不明確情況介紹表 大眾點(diǎn)評(píng)400電話怎么申請(qǐng) 立陶宛地圖標(biāo)注 地圖標(biāo)注推銷坑人 東平縣地圖標(biāo)注app 上海企業(yè)外呼系統(tǒng)價(jià)錢

無論是使用ajax還是使用easyui等框架,后臺(tái)向前臺(tái)輸出數(shù)據(jù)時(shí)都涉及到j(luò)son處理的問題,這里介紹兩種處理方法,第一種是手動(dòng)配置json的處理方法,另一種使用json-lib的處理方案。普通手動(dòng)配置方法比較笨拙,每次需要根據(jù)字段名逐個(gè)配置,因此也無法再其他對(duì)象上使用,降低了代碼的重用性,使用json-lib工具可以實(shí)現(xiàn)自動(dòng)處理,針對(duì)不同的對(duì)象又不同的處理措施,大大提高了處理效率和代碼的重用性,以下分別根據(jù)案例介紹兩種方法的過程:

方法一:普通方法,通過手動(dòng)配置轉(zhuǎn)型的過程,以easyui的請(qǐng)求方法為例,前臺(tái)通過dategrid向后臺(tái)請(qǐng)求用戶列表數(shù)據(jù),數(shù)據(jù)中存在普通字段(int、String)數(shù)據(jù),也有日期(date)數(shù)據(jù),

jsp頁面:

table id="dg" title="用戶管理" class="easyui-datagrid"
 fitColumns="true" pagination="true" rownumbers="true"
 url="${pageContext.request.contextPath}/user_list.action" fit="true" toolbar="#tb">
 thead>
 tr>
  th field="cb" checkbox="true" align="center">/th>
  th field="id" width="50" align="center">編號(hào)/th>
  th field="trueName" width="80" align="center">真實(shí)姓名/th>
  th field="userName" width="80" align="center">用戶名/th>
  th field="password" width="80" align="center">密碼/th>
  th field="sex" width="50" align="center">性別/th>
  th field="birthday" width="100" align="center">出生日期/th>
  th field="identityId" width="130" align="center">身份證/th>
  th field="email" width="120" align="center">郵件/th>
  th field="mobile" width="80" align="center">聯(lián)系電話/th>
  th field="address" width="100" align="center">家庭地址/th>
 /tr>
 /thead>
/table>

*******************************************************************************************************************************************************

action層:

public void list()throws Exception{
 PageBean pageBean=new PageBean(Integer.parseInt(page), Integer.parseInt(rows));
 ListUser> userList=userService.findUserList(s_user, pageBean);
 Long total=userService.getUserCount(s_user);
 JSONObject result=new JSONObject();
 JSONArray jsonArray=JsonUtil.formatUserListToJsonArray(userList);
 //easyui接收屬性為rows(數(shù)據(jù)內(nèi)容)和total(總記錄數(shù))
 result.put("rows", jsonArray);
 result.put("total", total);
 //獲取response對(duì)象
 ResponseUtil.write(ServletActionContext.getResponse(), result);
}

*******************************************************************************************************************************************************

util工具:

public class JsonUtil {
  /**
   * 將List結(jié)果集轉(zhuǎn)化為JsonArray
   * @param gradeService
   * @param stuList
   * @return
   * @throws Exception
   */
  public static JSONArray formatUserListToJsonArray(ListUser> userList)throws Exception{
    JSONArray array=new JSONArray();
    for(int i=0;iuserList.size();i++){
      User user=userList.get(i);
      JSONObject jsonObject=new JSONObject(); 
      jsonObject.put("userName", user.getUserName());   //需手動(dòng)逐個(gè)配置json的key-code
      jsonObject.put("password", user.getPassword());
      jsonObject.put("trueName", user.getTrueName());
      jsonObject.put("sex", user.getSex());
      jsonObject.put("birthday", DateUtil.formatDate((user.getBirthday()), "yyyy-MM-dd"));
      jsonObject.put("identityId", user.getIdentityId());
      jsonObject.put("email", user.getEmail());
      jsonObject.put("mobile", user.getMobile());
      jsonObject.put("address", user.getAddress());
      jsonObject.put("id", user.getId());
      array.add(jsonObject);
    }
    return array;
  }
}

方法二:使用jsonLib工具完成處理,以easyui的請(qǐng)求方法為例,前臺(tái)通過dategrid向后臺(tái)請(qǐng)求商品列表數(shù)據(jù),數(shù)據(jù)中存在普通字段(int、String)數(shù)據(jù),也有日期(date)數(shù)據(jù),同時(shí)商品對(duì)象(Product)還級(jí)聯(lián)了類別對(duì)象(ProductType)

jsp頁面:

table id="dg" title="商品管理" class="easyui-datagrid"
fitColumns="true" pagination="true" rownumbers="true"
 url="${pageContext.request.contextPath}/product_list.action" fit="true" toolbar="#tb">
 thead>
 tr>
 th field="cb" checkbox="true" align="center">/th>
 th field="id" width="50" align="center" hidden="true">編號(hào)/th>
 th field="proPic" width="60" align="center" formatter="formatProPic">商品圖片/th>
 th field="name" width="150" align="center">商品名稱/th>
 th field="price" width="50" align="center">價(jià)格/th>
 th field="stock" width="50" align="center">庫存/th>
 th field="smallType.id" width="100" align="center" formatter="formatTypeId" hidden="true">所屬商品類id/th>
 th field="smallType.name" width="100" align="center" formatter="formatTypeName">所屬商品類/th>
 th field="description" width="50" align="center" hidden="true">描述/th>
 th field="hotTime" width="50" align="center" hidden="true">上架時(shí)間/th>
 /tr>
 /thead>
/table>

*******************************************************************************************************************************************************

action層:

public void list() throws Exception{
 PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows));
 ListProduct> productList=productService.getProducts(s_product, pageBean);
 long total=productService.getProductCount(s_product);
 
 //使用jsonLib工具將list轉(zhuǎn)為json
 JsonConfig jsonConfig=new JsonConfig();
 jsonConfig.setExcludes(new String[]{"orderProductList"}); //非字符串對(duì)象不予處理
 jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd")); //處理日期
 jsonConfig.registerJsonValueProcessor(ProductType.class,new ObjectJsonValueProcessor(new String[]{"id","name"}, ProductType.class)); //處理類別list對(duì)象
 JSONArray rows=JSONArray.fromObject(productList, jsonConfig);
 JSONObject result=new JSONObject();
 result.put("rows", rows);
 result.put("total", total);
 ResponseUtil.write(ServletActionContext.getResponse(), result);
}

*******************************************************************************************************************************************************

util工具:

/**
 * json-lib 日期處理類
 * @author Administrator
 *
 */
public class DateJsonValueProcessor implements JsonValueProcessor{
 private String format; 
 
  public DateJsonValueProcessor(String format){ 
    this.format = format; 
  } 
 public Object processArrayValue(Object value, JsonConfig jsonConfig) {
 // TODO Auto-generated method stub
 return null;
 }
 public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
 if(value == null) 
    { 
      return ""; 
    } 
    if(value instanceof java.sql.Timestamp) 
    { 
      String str = new SimpleDateFormat(format).format((java.sql.Timestamp)value); 
      return str; 
    } 
    if (value instanceof java.util.Date) 
    { 
      String str = new SimpleDateFormat(format).format((java.util.Date) value); 
      return str; 
    } 
    return value.toString(); 
 }
}
/**
 * 解決對(duì)象級(jí)聯(lián)問題
 * @author Administrator
 *
 */
public class ObjectJsonValueProcessor implements JsonValueProcessor{
 /**
 * 保留的字段
 */
 private String[] properties; 
 
 /**
 * 處理類型
 */
 private Class?> clazz; 
 
 /**
 * 構(gòu)造方法 
 * @param properties
 * @param clazz
 */
 public ObjectJsonValueProcessor(String[] properties,Class?> clazz){ 
    this.properties = properties; 
    this.clazz =clazz; 
  } 
 
 public Object processArrayValue(Object arg0, JsonConfig arg1) {
 // TODO Auto-generated method stub
 return null;
 }
 public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
 PropertyDescriptor pd = null; 
    Method method = null; 
    StringBuffer json = new StringBuffer("{"); 
    try{ 
      for(int i=0;iproperties.length;i++){ 
        pd = new PropertyDescriptor(properties[i], clazz); 
        method = pd.getReadMethod(); 
        String v = String.valueOf(method.invoke(value)); 
        json.append("'"+properties[i]+"':'"+v+"'"); 
        json.append(i != properties.length-1?",":""); 
      } 
      json.append("}"); 
    }catch (Exception e) { 
      e.printStackTrace(); 
    } 
    return JSONObject.fromObject(json.toString()); 
 }
}

以上所述是小編給大家介紹的使用Ajax或Easyui等框架時(shí)的Json-lib的處理方案,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

您可能感興趣的文章:
  • json-lib將json格式的字符串,轉(zhuǎn)化為java對(duì)象的實(shí)例
  • Java 使用json-lib處理JSON詳解及實(shí)例代碼
  • json-lib出現(xiàn)There is a cycle in the hierarchy解決辦法
  • 將Java對(duì)象序列化成JSON和XML格式的實(shí)例
  • java將XML文檔轉(zhuǎn)換成json格式數(shù)據(jù)的示例
  • Java的微信開發(fā)中使用XML格式和JSON格式數(shù)據(jù)的示例
  • 解決使用json-lib包實(shí)現(xiàn)xml轉(zhuǎn)json時(shí)空值被轉(zhuǎn)為空中括號(hào)的問題

標(biāo)簽:本溪 益陽 玉樹 營口 四川 遼寧 銅川 內(nèi)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用Ajax或Easyui等框架時(shí)的Json-lib的處理方案》,本文關(guān)鍵詞  使用,Ajax,或,Easyui,等,框架,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用Ajax或Easyui等框架時(shí)的Json-lib的處理方案》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用Ajax或Easyui等框架時(shí)的Json-lib的處理方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    香蕉久久久久久av成人| 顶级黑人搡bbw搡bbbb搡| 色综合久久久久综合99| 欧美精品一区二区高清在线观看| 一卡二卡三卡日韩欧美| 国产白丝精品91爽爽久久| 亚欧洲乱码视频| 欧美日韩免费电影| 久久午夜羞羞影院免费观看| 一区二区三区日韩| 成人午夜看片网址| 99久久99久久精品免费看小说.| 日韩欧美国产精品| 午夜影视日本亚洲欧洲精品| av在线免费观看不卡| 亚洲色婷婷一区二区三区| 国产欧美va欧美不卡在线| 精品一区二区三区香蕉蜜桃 | 久久午夜电影网| 日韩成人一级大片| 亚洲欧美高清在线| 欧美中文字幕一区二区三区| 日韩伦理免费电影| 成人免费精品视频| 五月天激情丁香| 国产精品三级av在线播放| 国产在线不卡视频| 精品国产成人亚洲午夜福利| 精品国产人成亚洲区| 美女任你摸久久| 国产亚洲无码精品| 欧美大片日本大片免费观看| 欧美a级理论片| 素人fc2av清纯18岁| 欧美大度的电影原声| 日韩成人av影视| 欧美熟妇精品黑人巨大一二三区| 日韩精品影音先锋| 久久 天天综合| 欧美18—19性高清hd4k| 国产欧美日韩综合精品一区二区 | 91成人福利视频| 中文字幕欧美一区| 国产亚洲色婷婷久久| 欧美伊人精品成人久久综合97| 亚洲精品免费播放| 男人女人拔萝卜视频| 欧美人牲a欧美精品| 婷婷开心激情综合| av小说在线观看| 国产亚洲欧美激情| 风间由美性色一区二区三区| 在线免费精品视频| 亚洲国产中文字幕| 变态另类丨国产精品| 久久久久久久久99精品| 国产不卡视频在线观看| 91激情五月电影| 午夜不卡av免费| 欧美黄色一级生活片| 中文字幕一区av| 少妇丰满尤物大尺度写真| 欧美一级精品大片| 蜜臀va亚洲va欧美va天堂 | 99精品黄色片免费大全| 欧美日韩国产一级二级| 午夜精品123| 国产精品久久久久久成人| 亚洲桃色在线一区| 毛茸茸free性熟hd| 国产无一区二区| 91美女片黄在线| 精品伦理精品一区| 成人一区二区三区在线观看| 欧美视频一区二区| 看电视剧不卡顿的网站| 色综合一个色综合| 午夜亚洲福利老司机| 91动漫免费网站| 亚洲一区二区视频在线观看| 91在线无精精品白丝| 亚洲欧美精品午睡沙发| 特大黑人巨人吊xxxx| 中文字幕日韩欧美一区二区三区| 50一60岁老妇女毛片| 日本一区二区高清| 波多野结衣办公室双飞| 国产亚洲一区二区三区四区| 91免费国产在线观看| 久久综合九色综合欧美亚洲| 91一区在线观看| 欧美tickle裸体挠脚心vk| 成人动漫在线一区| 欧美一级黄色大片| 本田岬高潮一区二区三区| 欧美一区二区女人| 99国产欧美久久久精品| 久久婷婷一区二区三区| 中文字幕人妻熟女在线| 国产精品人成在线观看免费 | 亚洲欧洲日韩女同| 日批免费观看视频| 国产精品视频你懂的| 少妇饥渴放荡91麻豆| 一区二区三区精品视频在线| 林心如三级全黄裸体| 亚洲一区二区三区四区五区黄| 天堂av网手机版| 亚洲成人免费视| 中文字幕在线观看2018| 蜜桃av一区二区在线观看| 欧美视频一区在线| 成人性色生活片| 久久噜噜亚洲综合| 日本在线不卡一区二区| 18成人在线观看| 中文字幕第69页| 日韩精品91亚洲二区在线观看| 欧美午夜精品久久久久久孕妇| 大桥未久av一区二区三区中文| 久久夜色精品国产噜噜av| 免费无码一区二区三区| 亚洲444eee在线观看| 欧美日韩亚洲另类| 制服下的诱惑暮生| 亚洲乱码国产乱码精品精小说| 色综合婷婷久久| 99亚偷拍自图区亚洲| 亚洲视频免费在线观看| 一本一道久久a久久精品综合蜜臀| 高清免费成人av| 中文av字幕一区| 午夜精品一区二区三级视频| 国产ts人妖一区二区| 日本一区二区成人| 蜜臀av午夜精品久久| 成人在线一区二区三区| √…a在线天堂一区| 日本丰满少妇一区二区三区| 99久久亚洲一区二区三区青草| 中文字幕视频一区| 欧美自拍偷拍午夜视频| 不许穿内裤随时挨c调教h苏绵| 亚洲成人激情av| 日韩一级黄色片| 性猛交娇小69hd| 国产激情视频一区二区在线观看| 中文字幕免费观看一区| 亚洲色图综合区| 最好看的中文字幕| 午夜一区二区三区在线观看| 欧美成人一区二区三区片免费| 国产一级久久久久毛片精品| 国产二区国产一区在线观看| 中文字幕精品一区二区精品绿巨人| 破处女黄色一级片| 99国产精品免费视频| 天天影视涩香欲综合网| 精品国产亚洲在线| 久久福利免费视频| 97成人超碰视| 日韩经典中文字幕一区| 国产亚洲一区二区三区| 色综合亚洲欧洲| 午夜不卡久久精品无码免费| 美女免费视频一区| 国产精品美女久久久久av爽李琼| 在线观看日韩一区| 国产 中文 字幕 日韩 在线| 激情六月婷婷综合| 综合久久久久久久| 欧美一区二区视频网站| 熟女高潮一区二区三区| 丁香亚洲综合激情啪啪综合| 一个色综合网站| 欧美大肚乱孕交hd孕妇| 三级影片在线看| 久久性爱视频网站| 国产高清精品久久久久| 亚洲无人区一区| 精品不卡在线视频| 91激情在线视频| japanese中文字幕| 99久久免费精品| 免费欧美日韩国产三级电影| 中文字幕 久热精品 视频在线| 欧美裸体bbwbbwbbw| 日本成人午夜影院| 91免费国产视频网站| 加勒比av一区二区| 亚洲综合小说图片| 久久九九影视网| 欧美三级韩国三级日本三斤 | 国产伦精品一区二区三区妓女 | 国产精品久久久久影院亚瑟 | 日韩三级在线免费观看| 激情都市一区二区| gogo亚洲国模私拍人体| 国产精品久久久久久久午夜片| 欧美怡红院视频|