【发布时间】:2018-07-05 11:23:58
【问题描述】:
我有一个来自服务的 JSON。我正在通过 JSON 值附加一个 html 块,我必须检查一些值以进行适当的显示。 我正在尝试设置 discountValue 变量,但它不适用于 js 变量。我该如何解决?
if (data!="")
{
$.each(data,function(index,element){
var intDiscount=parseInt(10);
console.log("intDiscount::"+intDiscount);
var strIndex='';
strIndex+='<div class="card">';
strIndex+='<c:set var="discountValue" value="'+intDiscount+'"/>';
console.log("${discountValue}");
...
...
...
...
}
$('#visilabs-FavouriteCategoryTopSeller').append(strIndex);
控制台日志:
intDiscount::10
0
【问题讨论】:
-
JSTL 在服务器端执行。 JavaScript 在客户端执行,在 JSTL 结束生成 HTML + JS 代码很久之后。这没有任何意义。
-
要添加到 JB Nizet 的评论中,这行:
strIndex+='<c:set var="discountValue" value="'+intDiscount+'"/>'将始终与strIndex+='';相同,即使是 ajax JS 调用的大小,因为 c:set 不会打印出任何内容。跨度> -
如果您已经有了 JSON- 结果,则不需要 JSTL。如果 JSON 结果在
data中,您必须从数据中提取您的值。假设您的$.each(data, function(index,element),数据是一个数组。如果是这样,您将被每个数组元素调用,并且必须使用函数的elementarg。
标签: java jsp jstl jstl-functions