0

你能帮忙吗?,我怎样才能读取在foreach中分配的<% ... %>中的变量objd?

            <c:forEach var="objd" items="${beanDreqproducto}">
                <% 
                Gson j = new Gson();
                String data = j.toJson(objd);
                %>

                console.log("${objd.cantidad}, data: "+'${data}');
            </c:forEach>
4

1 回答 1

0

${}基本上翻译PageContext#findAttribute()为. 所以,这应该这样做:

<%
    Object objd = pageContext.findAttribute("objd");
    // ...
%>

请注意,您还应该设置 data页面范围才能开始${data}工作:

<%
    // ...
    pageContext.setAttribute("data", data);
%>

也可以看看:


与具体问题无关,这种方法最终是不好的。您应该选择仅使用JSTL /ELscriptlet,而不是同时使用两者。如果您更喜欢 JSTL/EL,只需创建一个自定义 EL 函数来完成所需的工作,这样您就可以得到如下结果:

<c:forEach var="objd" items="${beanDreqproducto}">
    console.log("${objd.cantidad}, data: ${my:toJson(objd)}");
</c:forEach>

我们的 EL wiki 页面包含如何创建 EL 函数的部分。

于 2012-11-27T18:47:57.613 回答