js怎样获得后台Model中的值

@RequestMapping(value="/objectMethod2Send",method=RequestMethod.GET)publicStringobjec... @RequestMapping(value="/objectMethod2Send",method=RequestMethod.GET)
public String objectMethod2Send(Person person,Model model){
System.out.println("**************************");

System.out.println("举例2");
System.out.println("后台已接收前端Person对象"+person);
User user=new User();
user.setId(3);
user.setName("张三");
user.setCompany("Adobe");

model.addAttribute("user",user);

System.out.println("**************************");

return "object/objectMethod2Receive";
}
前端js怎么获得User对象?谢谢!
除了el表达式方法,还有其他方法吗?比如:
<script type="text/javascript">
$(function(){
var user='<%=request.getAttribute("user")%>'; //这种方法取出来是user是String类型,我要的是Object类型,怎么做呢?谢谢!

})

</script>
展开
 我来答
Benbengbet
2018-03-30 · TA获得超过1.2万个赞
知道小有建树答主
回答量:120
采纳率:100%
帮助的人:6.4万
展开全部

获取id   ${user.id}

获取name ${user.name}

获取company ${user.company}

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

这里举得例子是: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<signInTalentIntegralRecords.length;i++){

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

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

}

Map<String,Object> map = new HashMap<String,Object>();

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

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

}

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

<script type="text/javascript"> 

$(document).ready(function(){

window.talentIntegralRecordsDay = ${talentIntegralRecordsDay};

window.talentIntegralRecordsIntegral = ${talentIntegralRecordsIntegral};

});</script>

引用的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 += ' <li><div class="qiandao-icon"></div></li>'

}

$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();

}

匿名用户
2015-08-18
展开全部
获取id ${user.id}
获取name ${user.name}
获取company ${user.company}
追问
除了这种el表达式方法,还有其他方法吗?
追答
跟踪一下源码,应该能从request或者session取出,el不挺好用的嘛
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式