我使用DataTables以表格形式查看数据。我将数据作为后端(JAVA)的对象列表发送。我需要在前端检索对象ID作为单个字符串并迭代它们。
为此,在迭代数据时,我将id与分隔符连接起来,如
<c:set var="tagIds" value="${tag.id},${tagIds}"/>
创建了id String,我想到了 - 但我无法在JavaScript中使用
在Javascript中,我声明了一个变量如下
var tagIds = ${userId};
这反映了语法错误。这假设在逗号(,)之后它是一个新变量。我无法传递该变量。
另外,我尝试在javascript函数调用中将这些值作为参数发送,但导致相同的错误。
saveTags(${userId}); & saveUploadedTags(<c:out value='${userId}'/>);
结果
Error:
SyntaxError: identifier starts immediately after numeric literal
saveTags(4028808241a34ba60141a35049380000)
答案 0 :(得分:0)
您必须确保生成的JavaScript代码有效,如您所知:
var tagIds = "${userId}";
如果你不是100%确定构成id字符串的东西的内容,那么这不一定是最安全的事情。最好的办法是使用JSON编码器;据我所知,标准JSTL / EL功能集中没有内置功能,但网上有很多功能。