js通过model从后端取值_js怎样获得后台Model中的值?

本文介绍了如何在JS中从SpringMVC的Controller通过Model获取后端数据,例如用户ID、姓名和公司。Controller将数组转换为JSON字符串并传递给前端,前端在JSP中声明全局变量接收数据,并在引用的JS文件中使用这些数据生成日历网格并显示签到状态及积分信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

展开全部

获取id   ${user.id}

获取name ${user.name}

获取company ${user.company}

JS中直接从java后台获得对象的值(数组的值)

这里举得32313133353236313431303231363533e59b9ee7ad9431333365633838例子是:JS直接从后台Contorller中(SpringMVC中的model中)获得数值的值

Contorller 此处将 talentIntegralRecordsDay talentIntegralRecordsIntegral 两个数组用JSON.toJSONString()封装。

@SuppressWarnings("deprecation")

@RequestMapping("/integralParadise")    public ModelAndView Welcome(HttpServletRequest request){

Users user = userService.currentUser(request);

user.getTalentUser().getIntegral();

System.out.println(user.getTime().getDate());

TalentIntegralRecord[] signInTalentIntegralRecords= wechatIntegralService.getUserSignInTalentIntegralRecords(user.getId());        int size = signInTalentIntegralRecords.length;        int[] talentIntegralRecordsDay = new int[size];

Long[] talentIntegralRecordsIntegral = new Long[size];        for(int i=0;i

talentIntegralRecordsDay[i]=signInTalentIntegralRecords[i].getOperatorTime().getDate();

talentIntegralRecordsIntegral[i]=signInTalentIntegralRecords[i].getIntegral();

}

Map map = new HashMap();

map.put("talentIntegralRecordsDay", JSON.toJSONString(talentIntegralRecordsDay));

map.put("talentIntegralRecordsIntegral", JSON.toJSONString(talentIntegralRecordsIntegral));        return new ModelAndView("wechat/integralParadise/rili",map);

}

前台JSP 因为用到两个数组数据的JS代码为页面引用的JS代码所以要在页面中先声明获得后台两个数组(这段JS代码应在引用的JS文件前面)

$(document).ready(function(){

window.talentIntegralRecordsDay = ${talentIntegralRecordsDay};

window.talentIntegralRecordsIntegral = ${talentIntegralRecordsIntegral};

});

引用的JS文件 开始就获得了两个数组的值

$(function() {    var signFun = function() {

var dateArray = window.talentIntegralRecordsDay;// 假设已经签到的

var talentIntegralRecordsIntegral = window.talentIntegralRecordsIntegral;        var $dateBox = $("#js-qiandao-list"),

$currentDate = $(".current-date"),

$qiandaoBnt = $("#js-just-qiandao"),

_html = '',

_handle = true,

myDate = new Date();

$currentDate.text(myDate.getFullYear() + '年' + parseInt(myDate.getMonth() + 1) + '月' + myDate.getDate() + '日');        var monthFirst = new Date(myDate.getFullYear(), parseInt(myDate.getMonth()), 1).getDay();        var d = new Date(myDate.getFullYear(), parseInt(myDate.getMonth() + 1), 0);        var totalDay = d.getDate(); //获取当前月的天数

for (var i = 0; i < 42; i++) {

_html += '

'

}

$dateBox.html(_html) //生成日历网格

var $dateLi = $dateBox.find("li");        for (var i = 0; i < totalDay; i++) {

$dateLi.eq(i + monthFirst).addClass("date" + parseInt(i + 1));            for (var j = 0; j < dateArray.length; j++) {                if (i == dateArray[j]) {

$dateLi.eq(i).addClass("qiandao");                    var integral;                    if(talentIntegralRecordsIntegral[j]==0){

integral="大转盘";

}else{

integral="+"+talentIntegralRecordsIntegral[j];

}

$dateLi.eq(i).find("div").text(integral);

}

}

} //生成当月的日历且含已签到

$(".date" + myDate.getDate()).addClass('able-qiandao');

$dateBox.on("click", "li", function() {                if ($(this).hasClass('able-qiandao') && _handle) {

$(this).addClass('qiandao');

qiandaoFun();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值