0

GSP(JSPに似ています)内のこのjavascriptコードを見てください:

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

savedkpiz(list object)オブジェクトには要素がない場合があるため、0 でアクセスすると NPE がスローされます。このコードが実行されないようにするにはどうすればよいですか?? 他に動作していないように思われる場合の JavaScript

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

上記のコードも機能しませんか?? どうすればこれに条件を付け、同時に true の場合は json 変数を設定できますか。

ガイズを助けてください、事前に感謝します

4

1 に答える 1

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);
于 2013-09-16T13:25:44.273 に答える