使用jstl标记

时间:2018-02-23 10:15:16

标签: jsp jstl veracode

我的申请是提交给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

{&#034;userName&#034;:&#034;st_user&#034;}

如何将json对象分配给javascript变量,使用out for escaping并且不需要任何额外的解析。

0 个答案:

没有答案