迭代时出现未终止字符串错误

Unterminated String error while iterating

本文关键字:终止 字符串 错误 迭代      更新时间:2023-09-26

这是我的代码:

<c:forEach items="${entry.value}" var="keyval">
 var bdgroup= {
   elem1: '${keyval.partno}',
   elem2: '${keyval.location}',
   elem3: '${keyval.village}',
   elem4: '${keyval.id}'
   };
   exampleArray.push(bdgroup);
</c:forEach>

i am getting

'未终止字符串文本错误' '

有时可以正常工作,但其他时候这个错误会发生…

当例如${keyval.id}被展开时,如果它有一个单引号,那么Javascript将看起来像

elem1: 'what's up?'

即未终止字符串错误。

在JSON中放入引号之前,请转义。

转义单引号和其他特殊字符,以便正确取值

I'm ==> I'm

看起来像是在使用标签库,单引号内的元素是由页面处理器生成的。

我敢打赌,在失败的时候,你的值包含单引号。

转义单引号,应该可以解决这个问题。