【发布时间】:2013-05-05 12:36:02
【问题描述】:
我有一个 jstl 值,
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/></c:forEach>
我想将 jquery 中的变量设置为等于 var = "c"。
我该怎么做?
【问题讨论】:
标签: spring spring-mvc jstl el
我有一个 jstl 值,
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/></c:forEach>
我想将 jquery 中的变量设置为等于 var = "c"。
我该怎么做?
【问题讨论】:
标签: spring spring-mvc jstl el
<script>
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/>
var whatever = ${c};
</c:forEach>
<script>
您可能需要 JS 对其进行转义、引用等,具体取决于您未提及的变量 in 的实际内容。也不清楚“jQuery中的变量”是什么。
底线是,如果 JavaScript 存在于 JSP 中,只需使用该值:在发出响应之前不会评估 JS,因此可以混合搭配,但请注意,它很容易创建无效的 JavaScript,除非您注意正确转义您发出的任何值类型。
作为一个例子,考虑一个包含单引号的 Java 字符串:如果你在 JS 中用单引号引用 Java 值,你会得到无效的 JS,因为你没有对字符串值进行 JS 转义。
【讨论】:
下面代码中给出的方法可能是正确的,但是变量 any 将只有一个值,并且也仅在 for each 循环的最后一次计数期间才会存在
<script>
<c:forEach items="${detail}" var="u">
<c:set value="${u.content}" var="c"/>
var whatever = ${c};
</c:forEach>
<script>
例如,如果变量 detail 的循环是列表类型,其中包含字符串类型对象,例如 "A" 、 "B" 、 "C" ,那么在这种情况下 var 的值将是 "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>
【讨论】: