如何在JavaScript中使用JSTL创建的变量?

时间:2014-10-23 16:38:48

标签: javascript jstl

我使用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)

1 个答案:

答案 0 :(得分:0)

您必须确保生成的JavaScript代码有效,如您所知:

var tagIds = "${userId}";

如果你不是100%确定构成id字符串的东西的内容,那么这不一定是最安全的事情。最好的办法是使用JSON编码器;据我所知,标准JSTL / EL功能集中没有内置功能,但网上有很多功能。