我在我的控制台chrome中有这个: [{" ID" 40"结束日期":" 2017年4月22日""数据A":" 2017- 04-19"" NRC":2"类型":" CO"" dataD":" 2017年-04-19""的startDate":"二零一七年四月二十零日"},{" ID" 40"结束日期&#34 ;:" 2017年4月26日""数据A":" 2017年4月26日"" NRC&#34:4,&# 34; tyoe":" CP"" dataD":" 2017年4月23日""的startDate":&#34 ; 2017年4月25日"},
这个json字符串来自调用DAO类的servlet来从db获取信息。
所以,这个字符串是(动态地)从请求会话传递到jsp页面...然后我将它放入var DAYS = '${jsonArrayString}';
然后console.log(DAYS);
然后它打印上面的json字符串。
所以...它可以打印更多的数据然后两个。
它必须放入一个javascript变量中,这个:
var DAYS = '${jsonArrayString}'; //That's what's on my console..and it comes from session into this jsp page
我认为必须通过foreach进行迭代并以该格式打印。
var USER_DAYS = [
{
id: value from jsonArrayString,
date: value from jsonArrayString,
title: value from jsonArrayString,
start: new Date(value from jsonArrayString),
end: new Date(value from jsonArrayString),
allDay: true,
className: 'done'
},
];
我试图手动设置值,它可以工作......就像这样:
var USER_DAYS = [
{
id: 1,
date: '2017-04-05',
title: 'CO',
start: new Date(2017, 3, 5),
end: new Date(2017, 3, 7),
allDay: true,
className: 'done'
},
我不知道从json字符串中放入值的热点( 哪个可以是...超过2个记录)...这就是为什么我需要遍历那个json字符串。 我希望值只能以该格式放入该变量(var USER_DAYS)
我尝试过这样的事情,但它确实无效:
<c:forEach items="${jsonArrayString}" var="jsonArrayString">
{
id: '${jsonArrayString.nrC}' ,
date: '${jsonArrayString.dataD}' ,
title: '${jsonArrayString.type}' ,
startDate: '${jsonArrayString.startDate}',
endDate: '${jsonArrayString.endDate}',
allDay: true,
className: 'done'
},
</c:forEach>
];
或者像这样:
var USER_DAYS = [
{
id: DAYS.nrC,
date: DAYS.dataD,
title: DAYS.type,
start: new Date(DAYS.startDate),
end: new Date(DAYS.endDate),
allDay: true,
className: 'done'
},
];
怎么做?
答案 0 :(得分:0)
尝试将json字符串解析为json对象。
实施例
https://d225******.cloudfront.net/song.m4a?Expires=1493381986&Signature=***&Key-Pair-Id=***
答案 1 :(得分:0)
JavaScript代码仅在客户端运行,而JSP在服务器上运行。在页面呈现在服务器上时,您无法迭代JavaScript变量。