亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

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

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

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

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

方法一:普通方法,通過手動配置轉(zhuǎn)型的過程,以easyui的請求方法為例,前臺通過dategrid向后臺請求用戶列表數(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">編號/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">聯(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對象
 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());   //需手動逐個配置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向后臺請求商品列表數(shù)據(jù),數(shù)據(jù)中存在普通字段(int、String)數(shù)據(jù),也有日期(date)數(shù)據(jù),同時商品對象(Product)還級聯(lián)了類別對象(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轉(zhuǎn)為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(); 
 }
}
/**
 * 解決對象級聯(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等框架時的Json-lib的處理方案,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用Ajax或Easyui等框架時的Json-lib的處理方案》,本文關(guān)鍵詞  使用,Ajax,或,Easyui,等,框架,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用Ajax或Easyui等框架時的Json-lib的處理方案》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用Ajax或Easyui等框架時的Json-lib的處理方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    精品久久久久久影院免费| 欧美爱色| 久久久成人网| 美女免费黄网站| 99色视频在线观看| 成人免费观看的视频黄页| 一本高清在线| 国产成人欧美一区二区三区的| 亚欧成人乱码一区二区| 国产不卡精品一区二区三区| 国产不卡高清| 国产麻豆精品免费密入口| 九九久久99| 成人免费观看网欧美片| 91麻豆精品国产自产在线| 欧美大片一区| 色综合久久天天综合观看| 韩国三级香港三级日本三级| 麻豆系列国产剧在线观看| 国产不卡精品一区二区三区| 成人在免费观看视频国产| 久久99欧美| 国产成人精品影视| 深夜做爰性大片中文| 日韩在线观看免费| 免费一级片在线| 久久国产影视免费精品| 国产成人精品影视| 国产成a人片在线观看视频| 精品久久久久久影院免费| 久久精品大片| 成人高清视频在线观看| 九九精品在线播放| 日韩在线观看免费完整版视频| 久久国产精品只做精品| 日韩免费在线视频| 一级毛片视频免费| 国产伦理精品| 国产一区二区福利久久| 99热精品一区| 国产不卡在线观看视频| 日韩专区一区| 久久成人亚洲| 精品视频一区二区三区免费| 久久成人亚洲| 天天色色色| 精品国产三级a| 91麻豆国产级在线| 欧美激情中文字幕一区二区| 欧美日本免费| 九九干| 成人免费观看网欧美片| 久久久成人影院| 亚洲女人国产香蕉久久精品| 天堂网中文字幕| a级毛片免费观看网站| 欧美激情一区二区三区在线播放| 韩国三级一区| 国产极品白嫩美女在线观看看| 日日夜夜婷婷| 午夜激情视频在线观看| 久久国产精品自线拍免费| 沈樵在线观看福利| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 在线观看成人网 | 日本特黄特色aa大片免费| a级毛片免费观看网站| 日韩专区第一页| 精品视频在线观看免费| 日韩男人天堂| 青草国产在线| 欧美激情伊人| 欧美a级片视频| 美女被草网站| 中文字幕一区二区三区 精品| 黄色福利片| 天天做日日干| 国产不卡在线看| 四虎精品在线观看| 国产a视频| 精品视频在线看| 可以免费在线看黄的网站| 精品国产一区二区三区久 | 999久久久免费精品国产牛牛| 九九精品在线| 香蕉视频三级| 日日日夜夜操| 日日夜人人澡人人澡人人看免| 成人高清免费| 一级毛片视频免费| 999久久久免费精品国产牛牛| 欧美α片无限看在线观看免费| 国产视频一区在线| 香蕉视频久久| 国产综合成人观看在线| 亚洲 国产精品 日韩| 久草免费资源| 久久精品免视看国产成人2021| 亚飞与亚基在线观看| 亚洲精品中文字幕久久久久久| 国产a视频| 国产一区二区精品| 一级毛片视频免费| 久久精品店| 精品国产亚洲一区二区三区| a级精品九九九大片免费看| 你懂的在线观看视频| 免费国产一级特黄aa大片在线| 国产不卡在线看| 欧美激情在线精品video| 免费国产一级特黄aa大片在线| 成人免费观看视频| a级黄色毛片免费播放视频| 四虎久久影院| 成人影视在线播放| 久久99欧美| 成人a大片在线观看| 国产a网| 黄视频网站免费看| 国产网站免费视频| 欧美激情一区二区三区视频| 欧美激情中文字幕一区二区| 美女免费精品视频在线观看| 天天做人人爱夜夜爽2020毛片| 欧美日本韩国| 精品视频在线观看一区二区| 亚洲爆爽| 国产一区二区精品尤物| 精品久久久久久影院免费| 九九久久国产精品大片| 中文字幕Aⅴ资源网| 天天做人人爱夜夜爽2020毛片| 国产欧美精品午夜在线播放| 日韩在线观看免费完整版视频| 午夜在线影院| 高清一级做a爱过程不卡视频| 中文字幕一区二区三区精彩视频| 日韩在线观看视频免费| 免费的黄视频| 亚洲第一色在线| 欧美一级视频免费| 香蕉视频三级| 一本伊大人香蕉高清在线观看| 精品国产一区二区三区精东影业 | 欧美激情中文字幕一区二区| 中文字幕一区二区三区精彩视频 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 午夜家庭影院| 在线观看成人网 | 精品视频在线看| 国产精品自拍在线观看| 日韩专区第一页| 99久久精品国产高清一区二区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 午夜在线影院| 欧美a级大片| 九九干| 国产91素人搭讪系列天堂| 久久久久久久网| 美女免费黄网站| 国产伦理精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 中文字幕一区二区三区精彩视频 | 日韩欧美一二三区| 毛片高清| 亚洲精品久久久中文字| 国产一区免费在线观看| 韩国毛片免费大片| 日韩免费在线视频| 日韩专区第一页| 91麻豆精品国产片在线观看| 日韩专区亚洲综合久久| 精品久久久久久综合网| 91麻豆精品国产自产在线观看一区| 国产一区免费在线观看| 免费国产一级特黄aa大片在线| 九九九网站| 日韩免费在线视频| 久久99中文字幕久久| 国产国语在线播放视频| 日韩在线观看视频黄| 91麻豆精品国产高清在线| 久久成人亚洲| 四虎影视久久| 日韩专区第一页| 成人影视在线观看| 日本免费乱人伦在线观看| 亚洲精品久久玖玖玖玖| 精品视频在线观看一区二区 | 亚洲第一色在线| 韩国三级视频网站| 欧美一级视频高清片| 欧美国产日韩久久久| 国产成人精品影视| 九九久久99| 亚洲精品久久久中文字| 精品毛片视频| 香蕉视频久久| 国产91精品一区|