我有一个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 字符串:如果您在 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>
例如,如果变量详细信息的循环是列表类型,其中包含字符串类型对象,例如“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>