我使用JSTL来产生在JSP有点内嵌脚本的JavaScript对象,就像这样:我如何禁用javascript的验证在JSP中<script>标签......在Eclipse
<script>
var data = [
<c:forEach items="${MyData}" var="Datum" varStatus="status">
{
foo: ${Datum.foo},
bar: '${Datum.bar}'
}<c:if test="${not status.last}">,</c:if>
</c:forEach>
];
</script>
Eclipse完全无法验证它。它生成的HTML是正确的 - 那么如何让Eclipse停止尝试解释/验证JavaScript?
我在这里遇到过很多类似的问题,但他们都没有工作 - 包括去首选项->
验证和检查“暂停所有验证器”框!
除此之外:您应该考虑使用合适的JSON编码器来生成这种结构,而不是尝试自己动手。否则,'Datum.bar'中的'''这样的字符不会被转义以适应JS字符串文字,并且会有脚本注入安全漏洞。 – bobince 2010-09-01 21:53:09
@bobince - 你是完全正确的;我会最终到达那里。现在,我只是想把原型放在一起,而我实际上使用'bar:'$ {fn:replace(Datum.bar,“'”,“\\'”)}“你提到的问题。字符串不是来自用户输入的...... – 2010-09-01 21:57:51
注意'bar:...'后的最后一个逗号。它会使IE崩溃。 – slebetman 2010-09-01 21:57:54