c:set、ArrayList、またはJavaScript変数のいずれかの各要素に二重引用符を追加するためのおそらく単純なコードに苦労しています。
ac:set(mother、babyなどを含む)の後、ArrayList([mother、baby、child、staff]などを含む)にデータを入力し、JavaScriptに「取得」します。
最終的な出力は[母、子、スタッフ]などですが、["母"、 "赤ちゃん"、 "子"、 "スタッフ"]などである必要があります。
After a sql:select -
<c:set var="type" value="${row.Type}" />
Add to an ArrayList -
types.add(pageContext.getAttribute("type"));
Get into javascript (after the jstl forEach loop completes)-
var typesArray = [<% for (int i = 0; i < types.size(); i++) { %>"<%=types.get(i)%>"<%= i + 1 < types.size() ? ",":"" %><% } %>];
c:setはエスケープ/失敗するため、二重引用符を追加できません-
<c:set var="type" value=""${row.Type}"" />
StringBufferはJavaScriptのgetイテレーターに影響を与えるため、実際には使用したくありません。これは、作業を開始するのに数日かかりました。
古いJava /古いJavascriptを想定する
感謝します。よろしく。ラルフ
一重引用符/二重引用符のラッピングを使用します。
<c:set var="type" value="'${row.Type}'" />
または
<c:set var="type" value='"${row.Type}"' />
同様に、
var typesArray = [<% for (int i = 0; i < types.size(); i++) { %>"'<%=types.get(i)%>'"<%= i + 1 < types.size() ? ",":"" %><% } %>];
または
var typesArray = [<% for (int i = 0; i < types.size(); i++) { %>'"<%=types.get(i)%>"' <%= i + 1 < types.size() ? ",":"" %><% } %>];
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加