玩命速递4,柳絮的图片,北京糖果ktv
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<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封装,用于后端向前端传递数据
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,例如
@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就好了,如下所示:
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; } }); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论