请看一下 GSP 中的 JavaScript 代码(类似于 JSP):
var json =JSON.parse("${savedkpiz.get(0).kpi.replace("\"","\\\"")}")
savedkpiz(list object) 对象有时没有元素,因此在 0 处访问将抛出 NPE,我怎样才能阻止此代码执行? JavaScript if else 似乎不起作用
var json =JSON.parse("${if(savedkpiz.size()>0) ? savedkpiz.get(0).kpi.replace("\"","\\\""):""}")
上面的代码也不起作用?我如何对此设置条件,同时如果为 true,则填充 json 变量。
请帮助guyz,提前致谢
最佳答案
你可以通过使用 JSTL 的 <c:if>
来分割你的逻辑并实现你想要的。标签并在 JavaScript 中进行字符串替换。
var jsonStr = "";
<c:if test="${not empty savedkpiz}">
jsonStr = "${savedkpiz[0]}".replace(/"/g, "\\\"");
</c:if>
var json = JSON.parse(jsonStr);
关于java - JavaScript 中的 JSP 条件表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827783/