1 后端两个辅助类
concurrentdateutil.java,用于生成我们需要格式的时间
import java.text.dateformat;
import java.text.parseexception;
import java.text.simpledateformat;
import java.util.date;
public class concurrentdateutil {
private static threadlocal threadlocal = new threadlocal() {
@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封装,用于后端向前端传递数据
import com.sf.utils.concurrentdateutil;
import java.util.date;
public class jsonresult {
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,例如
@responsebody
@requestmapping(value = "/user/getuseramount", method = requestmethod.post)
public jsonresult> getuseramount() {
jsonresult> result = new jsonresult<>();
try {
//已签到人数
integer signedamount = userservice.getsignedamount();
//总人数
integer totaluseramount = userservice.gettotaluseramount();
map 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就好了,如下所示:
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;
}
});
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!