javascript中的JSP条件表达式

时间:2013-09-16 12:14:46

标签: java javascript jsp

请看一下GSP中的这个javascript代码(类似于JSP):

var json =JSON.parse("${savedkpiz.get(0).kpi.replace("\"","\\\"")}")

savedkpiz(列表对象)对象有时没有元素,所以在0处访问会抛出NPE,我该怎样才能阻止这段代码执行? JavaScript,如果其他似乎无法正常工作

var json =JSON.parse("${if(savedkpiz.size()>0) ? savedkpiz.get(0).kpi.replace("\"","\\\""):""}")

上面的代码也没有工作?我怎么能把条件放在这个上,同时如果是真的那么填充json变量。

请提前帮助guyz,谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用JSTL的<c:if>标记拆分逻辑并实现您想要的功能,而不是在JavaScript中进行字符串替换。

var jsonStr = "";

<c:if test="${not empty savedkpiz}">
    jsonStr = "${savedkpiz[0]}".replace(/"/g, "\\\"");
</c:if>

var json = JSON.parse(jsonStr);