第一種:ajax
關於ajax參看:https://i.cnblogs.com/posts/edit-done;postId=12985434
web層的controller中使用JsonResult封裝數據並傳遞到前端
@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把已簽到人數和總人數兩個數據取出來
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; } }); }
第二種:HttpServletRequest
session存值會存到cookie中,登錄用此傳值,退出時候需要remove掉
第三種:Model