私はjstl値を持っています、
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/></c:forEach>
jquery の変数を var = "c" に設定したいと考えています。
どうすればそれができますか?
私はjstl値を持っています、
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/></c:forEach>
jquery の変数を var = "c" に設定したいと考えています。
どうすればそれができますか?
<script>
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/>
var whatever = ${c};
</c:forEach>
<script>
言及していない変数の実際の内容に応じて、JSエスケープしたり、引用したりする必要がある場合があります。「jQueryの変数」が何であるかも明確ではありません。
要点は、JavaScript が JSP 内にある場合は、値を使用するだけです。JS は応答が発行されるまで評価されないため、さまざまな組み合わせが必要ですが、無効な JavaScript を作成するのは非常に簡単であることに注意してください。発行している値の型が何であれ、適切にエスケープするように注意してください。
例として、一重引用符を含む Java String を考えてみましょう。JS で Java 値を一重引用符で囲むと、文字列値を JS エスケープしなかったため、無効な JS になります。
以下のコードで指定された方法は正しいかもしれませんが、 for each ループの最後のカウント中にのみ存在する値を 1 つだけ持つ変数は何でもあります。
<script>
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/>
var whatever = ${c};
</c:forEach>
<script>
たとえば、変数の詳細のループが "A" 、 "B" 、"C" などの文字列型オブジェクトで構成されるリスト型の場合、変数の値が "C" になる場合、これはこれは、jstl がコンパイル時の言語であるためです。
したがって、上記のコードはループごとに機能しません。次のコードが役立つか、少なくとも同じアイデアを提供します。
<script>
var whatever = new Array;
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/>
for (var i=0;i<whatever.length;i++)
{
whatever[i]=${c};
}
</c:forEach>
<script>