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/ELまたはスクリプトレットのいずれかのみを使用することを選択する必要があります。両方を使用することはできません。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 に答える