これは難しいことではありませんが、運がありません。
サーブレットのfooList
をJSPで使用できるようにしたい。だから私はサーブレットで:
request.setAttribute("list", fooList);
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher("/myJsp.jsp");
dispatcher.forward(request, response);
次に、JSPで次のようにします。
<c:forEach var="post" items="${SOME_EL_HERE}">
<!-- stuff -->
</c:forEach>
どこ SOME_EL_HERE
は、request
に設定した属性を取得する式です。
何かご意見は?私の好みは、フレームワークを追加することで単純なタスクを複雑にすることではありませんが、戦略の変更に柔軟に対応できます。
ここで設定したように、これは単なる属性nameです。
_request.setAttribute("list", fooList);
_
したがって、これは_"list"
_です。
_<c:forEach var="post" items="${list}">
_
詳細:ELはデフォルトで PageContext#findAttribute()
を使用し、ページ、リクエスト、セッション、およびアプリケーションのスコープをスキャンして、指定された最初の次のnull以外の属性値を探します。属性名。
異なるスコープに同じ名前の複数の属性がある場合にスコープを明示的に指定する場合、通常のアプローチは_${pageScope}
_、_${requestScope}
_、_${sessionScope}
_を使用することですまたは_${applicationScope}
_。例えば。
_<c:forEach var="post" items="${requestScope.list}">
_