一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - JAVA實現JSON后端向前端傳遞數據

JAVA實現JSON后端向前端傳遞數據

2020-08-25 11:19橙子wj Java教程

本篇文章主要介紹了JAVA實現JSON后端向前端傳遞數據,這里整理了詳細的代碼,具有一定的參考價值,有需要的小伙伴可以參考下。

1 后端兩個輔助類

ConcurrentDateUtil.Java,用于生成我們需要格式的時間

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class ConcurrentDateUtil {
  private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>() {
    @Override
    protected DateFormat initialValue() {
      return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    }
  };
 
  public static Date parse(String dateStr) throws ParseException {
    return threadLocal.get().parse(dateStr);
  }
 
  public static String format(Date date) {
    return threadLocal.get().format(date);
  }
}

JsonResult.java,JsonResult封裝,用于后端向前端傳遞數據

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import com.sf.utils.ConcurrentDateUtil;
 
import java.util.Date;
 
public class JsonResult<T> {
  public static int NEED_RE_LOGIN = 1;
  public static int NEED_RETRY = 2;
 
  private int errCode;
 
  private String message;
 
  private String timestamp = ConcurrentDateUtil.format(new Date());
 
  private T data;
 
  public String getMessage() {
    return message;
  }
 
  public void setMessage(String message) {
    this.message = message;
  }
 
  public String getTimestamp() {
    return timestamp;
  }
 
  public T getData() {
    return data;
  }
 
  public void setData(T data) {
    this.data = data;
  }
 
  public int getErrCode() {
    return errCode;
  }
 
  public void setErrCode(int errCode) {
    this.errCode = errCode;
  }
}

上面這兩個類完成之后,我們就可以在web層的controller中使用JsonResult封裝數據并傳遞到前端。

接下來介紹兩種情況,看看前端怎么取數據出來

2 前端JS怎么取出數據

如果后端傳給前端的JsonResult封裝的是一個Map,例如

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@ResponseBody
@RequestMapping(value = "/user/getUserAmount", method = RequestMethod.POST)
public JsonResult<Map<String, Integer>> getUserAmount() {
  JsonResult<Map<String, Integer>> result = new JsonResult<>();
  try {
    //已簽到人數
    Integer signedAmount = userService.getSignedAmount();
    //總人數
    Integer totalUserAmount = userService.getTotalUserAmount();
    Map<String, Integer> amountMap = new HashMap<>();
    amountMap.put("signed", signedAmount);
    amountMap.put("sum", totalUserAmount);
    result.setData(amountMap);
    //這里舉個例子,如果覺得setData穿的信息不夠,還可以用setMessage方法多傳一個字符串過去
    result.setMessage("這是簽到界面");
  } catch (Exception e) {
    log.warn(ExceptionUtils.getStackTrace(e));
  }
  return result;
}

現在想在前端JS把已簽到人數和總人數兩個數據取出來,要怎么做呢?只需要在”.”后面跟著Map的Key就好了,如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function getSignedAmount(){
  $.ajax({
    type: "post",
    url : getContextPath() + "/user/getUserAmount",
    dataType:'json',
    data: {
    },
    success: function(data){
      var amount = data.data;
      //取出總人數
      var totalAmount = amount.sum;
      //總人數減去已經簽到的人數,就是未簽到的人
      var unsignedNumber = amount.sum-amount.signed;
      //取出后端controller中setMessage方法傳過來的字符串
      var logMessage = data.message;
    }
  });
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/antony9118/article/details/54411284

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: sao虎在线精品永久在线 | 精品国产福利一区二区在线 | 精品亚洲视频在线观看 | 亚洲无总热门 | 国产精品1区2区 | 日本黄色网页 | 日本一区二区不卡久久入口 | 大学生按摩黄a级中文片 | 欧美日韩在线观看区一二 | 四虎影视黄色 | 国产午夜免费秋霞影院 | 精品国产麻豆免费人成网站 | 欧美久久久久久久一区二区三区 | 韩国日本香港毛片免费 | 欧美四级无删版影片 | 日本男男gayxxxxx免费 | 国产农村一一级特黄毛片 | m3u8久久国产精品影院 | 风间由美一区二区播放合集 | 操岳母娘| 石原莉奈adn093店长未婚妻 | 精品国产一区二区三区在线观看 | 免费人成网址在线观看国内 | 女人狂吮男人命根gif视频 | 免费观看视频高清在线 | 门卫老张和女警花小说 | 性色AV一区二区三区V视界影院 | 亚洲性视频在线观看 | 欧美色在线 | 美女机机对机机的视频(免费) | 日本在线观看免费高清 | 俺去俺来也www色官网免费的 | 幻女free性zozo交体内谢 | 日本视频高清免费观看xxx | 玩50岁四川熟女大白屁股直播 | 国产馆在线观看免费的 | 男人肌肌捅女人 | 农村老少伦小说 | 7788理论片在线观看 | 三级伦理在线播放 | 精品欧美一区二区三区在线观看 |