我的申请是提交给veracode以识别缺陷。我面临着一个奇怪的问题。请查看我的jsp的下面代码。
<script type="text/javascript">
//My code Before veracode static scan
var userObj = ${userObj};
var settingsObj = ${settingsObj};
//I changed like below it is working, but veracode scan giving error.
var userObj = <%= request.getAttribute("userObj") %>;
var settingsObj = <%= request.getAttribute("settingsObj") %>;
//My code after veracode static scan. veracode scan raised issue with above code so i fixed like below.
var userObj = '<c:out value="${userObj}"/>';
var settingsObj = '<c:out value="${settingsObj}"/>';
</script>
我有两个对象userObj,settingsObj都是jsons对象。我们将这些对象作为请求属性发送。当我分配像$ {var}这样的请求属性时,它将分配为json对象并按预期工作。如果我从jstl标签分配它没有按预期工作。它正在逃避字符串,如下所示。
使用$ {attrName}和&lt;%= request.getAttribute(“attrName”)%&gt;
的变量值{"userName":"st_user"}
变量值,c:out
{"userName":"st_user"}
如何将json对象分配给javascript变量,使用out for escaping并且不需要任何额外的解析。