校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

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

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

熱門標簽:電銷機器人 長春 怎樣在地圖標注文字 河間市地圖標注app 中國地圖標注不明確情況介紹表 大眾點評400電話怎么申請 立陶宛地圖標注 地圖標注推銷坑人 東平縣地圖標注app 上海企業外呼系統價錢

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

方法一:普通方法,通過手動配置轉型的過程,以easyui的請求方法為例,前臺通過dategrid向后臺請求用戶列表數據,數據中存在普通字段(int、String)數據,也有日期(date)數據,

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">編號/th>
  th field="trueName" width="80" align="center">真實姓名/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">聯系電話/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(數據內容)和total(總記錄數)
 result.put("rows", jsonArray);
 result.put("total", total);
 //獲取response對象
 ResponseUtil.write(ServletActionContext.getResponse(), result);
}

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

util工具:

public class JsonUtil {
  /**
   * 將List結果集轉化為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());   //需手動逐個配置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的請求方法為例,前臺通過dategrid向后臺請求商品列表數據,數據中存在普通字段(int、String)數據,也有日期(date)數據,同時商品對象(Product)還級聯了類別對象(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">編號/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">價格/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">上架時間/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轉為json
 JsonConfig jsonConfig=new JsonConfig();
 jsonConfig.setExcludes(new String[]{"orderProductList"}); //非字符串對象不予處理
 jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd")); //處理日期
 jsonConfig.registerJsonValueProcessor(ProductType.class,new ObjectJsonValueProcessor(new String[]{"id","name"}, ProductType.class)); //處理類別list對象
 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(); 
 }
}
/**
 * 解決對象級聯問題
 * @author Administrator
 *
 */
public class ObjectJsonValueProcessor implements JsonValueProcessor{
 /**
 * 保留的字段
 */
 private String[] properties; 
 
 /**
 * 處理類型
 */
 private Class?> clazz; 
 
 /**
 * 構造方法 
 * @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等框架時的Json-lib的處理方案,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

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

標簽:本溪 益陽 玉樹 營口 四川 遼寧 銅川 內江

巨人網絡通訊聲明:本文標題《使用Ajax或Easyui等框架時的Json-lib的處理方案》,本文關鍵詞  使用,Ajax,或,Easyui,等,框架,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用Ajax或Easyui等框架時的Json-lib的處理方案》相關的同類信息!
  • 本頁收集關于使用Ajax或Easyui等框架時的Json-lib的處理方案的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久精品视频一区二区三区| 99久久免费国产| 亚洲一区二区在线视频| 亚洲裸体xxx| 亚洲免费在线播放| 亚洲精品综合在线| 一区二区国产盗摄色噜噜| 一区二区三区免费网站| 亚洲欧美日韩电影| 日韩制服丝袜av| 久久精品国产网站| wwwwww.欧美系列| 91色综合久久久久婷婷| 亚洲午夜在线观看视频在线| 一区二区三区蜜桃网| 欧美在线free| 欧美变态口味重另类| 国产三级欧美三级日产三级99| 91成人免费在线视频| 欧美视频在线播放| 欧美xxxxx牲另类人与| 中文字幕中文字幕一区| 亚洲成人中文在线| 成人h动漫精品| 久久嫩草精品久久久久| 国产精品视频yy9299一区| 在线不卡免费欧美| 99这里都是精品| 欧美三级视频在线观看| 欧美一区二区三区在线观看| 中文字幕乱码一区二区免费| 国产目拍亚洲精品99久久精品| 一区二区三区四区中文字幕| 激情伊人五月天久久综合| 国产一区二区成人久久免费影院| 久久精品视频一区| 丝瓜av网站精品一区二区| av中文一区二区三区| 亚洲欧美一区二区不卡| 中文字幕一区二区三区精华液| 日本一区二区三区四区| 最新不卡av在线| 久久国产生活片100| 欧美亚洲一区二区三区四区| 中文字幕一区在线观看视频| 国产精品18久久久久久vr| 欧美日韩一本到| 亚洲精品日韩综合观看成人91| 91麻豆精品国产91久久久久久| 国产白丝精品91爽爽久久| 在线日韩国产精品| 亚洲午夜精品网| 久久爱另类一区二区小说| 美女脱光内衣内裤视频久久影院| 日韩美女视频在线| 狠狠色伊人亚洲综合成人| 欧美一级黄色大片| 国产高清不卡一区| 亚洲欧洲精品一区二区三区| 色天天综合久久久久综合片| 亚洲大片免费看| 精品久久久久久综合日本欧美| 精品国产a毛片| 粉嫩一区二区三区性色av| 国产精品家庭影院| 日韩午夜在线影院| 丁香五精品蜜臀久久久久99网站 | 欧美mv日韩mv| 色综合久久九月婷婷色综合| 蜜臀av在线播放一区二区三区 | 国产成人精品亚洲777人妖| 亚洲色图一区二区| 久久综合九色综合欧美就去吻| 国产欧美精品一区二区色综合 | 成人一区二区三区视频| 亚洲一区二区偷拍精品| 欧美美女黄视频| 国产成人在线视频网址| 久久久久久久久久久久久久久99 | 极品美女销魂一区二区三区| 亚洲激情在线播放| 7777精品伊人久久久大香线蕉经典版下载 | 色一情一乱一乱一91av| 欧美美女bb生活片| 99久久精品国产导航| 欧美欧美欧美欧美| 日本不卡在线视频| 亚洲乱码中文字幕| 国产精品高潮呻吟久久| 精品成人一区二区| 国产精品高潮呻吟| 717成人午夜免费福利电影| 国产精品一区二区三区99| 久久99精品久久久久久动态图| 国产一区二区三区四| 国模冰冰炮一区二区| 久久国产日韩欧美精品| 国产一区二区三区免费在线观看| 欧美视频在线观看一区| 欧美综合在线视频| 日韩一区二区三| 亚洲国产精品高清| 一区二区三区久久久| 男女男精品视频网| 欧美性生交片4| 自拍av一区二区三区| 亚洲va欧美va人人爽| 丝瓜av网站精品一区二区| 麻豆精品视频在线观看视频| 国产精品 日产精品 欧美精品| 欧美电视剧免费全集观看| 日韩免费视频一区| 欧美蜜桃一区二区三区| 国产日韩精品一区| 日本最新不卡在线| 成人精品国产免费网站| 这里只有精品免费| 夜夜精品浪潮av一区二区三区| 国产蜜臀97一区二区三区| 亚洲国产精品久久人人爱蜜臀| 欧美激情在线一区二区| 一区视频在线播放| 国产精品亚洲成人| 日韩一区二区三区四区| 夜夜爽夜夜爽精品视频| 成人黄动漫网站免费app| 国产性天天综合网| 精品一区二区三区免费| 日韩一区二区电影网| 亚洲无人区一区| 欧美日韩国产一级二级| 一区二区三区美女视频| 欧美在线观看禁18| 亚洲图片激情小说| 欧美日韩综合在线| 亚洲成a人v欧美综合天堂| 美女视频黄免费的久久| 欧美亚洲一区二区在线| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品黄色在线观看 | 国产一区二区女| 欧美精品乱码久久久久久 | 成人aa视频在线观看| 国产精品久久久久久久久图文区 | 日日摸夜夜添夜夜添国产精品| 日本一区二区不卡视频| 九九国产精品视频| 精品成人私密视频| 国产精品白丝jk黑袜喷水| 91麻豆精东视频| 亚洲成人动漫av| 欧美一区二区成人6969| 精品一二三四在线| 99久精品国产| 久久久天堂av| 在线观看成人小视频| 天天av天天翘天天综合网色鬼国产| 国产亚洲精品超碰| 国产一区二区在线影院| 亚洲天堂免费在线观看视频| 欧美在线观看视频一区二区三区| 国产主播一区二区三区| 自拍偷拍欧美精品| 日本久久电影网| 国产精品久久久爽爽爽麻豆色哟哟| 国产成人免费在线视频| 欧美激情在线看| 欧洲一区在线观看| 福利一区福利二区| 奇米四色…亚洲| 国产欧美精品区一区二区三区 | 国产精品一区二区91| 中文av一区二区| 欧美午夜宅男影院| 国产成人激情av| 亚洲制服丝袜在线| 欧美国产激情二区三区| 精品国产1区二区| 日韩午夜三级在线| 91精彩视频在线| 国产资源在线一区| 九九九精品视频| 国产在线不卡一区| 另类欧美日韩国产在线| 天天爽夜夜爽夜夜爽精品视频| 精品亚洲成a人在线观看| 国产农村妇女毛片精品久久麻豆 | 国产精品色哟哟| 欧美白人最猛性xxxxx69交| 精品国产网站在线观看| 粉嫩13p一区二区三区| 国产精品亚洲一区二区三区在线| 成人永久看片免费视频天堂| 另类成人小视频在线| 极品美女销魂一区二区三区| 日韩av电影免费观看高清完整版 | 国产一区二区三区观看| 免费观看久久久4p| 国产.欧美.日韩| 91国偷自产一区二区使用方法|