gpt4 book ai didi

jsp - 如何使用 EL 在 JSP 中获取 request/session/servletcontext 属性?

转载 作者:IT老高 更新时间:2023-10-28 21:03:18 27 4
gpt4 key购买 nike

我知道这并不难,但我没有运气。

我想让 fooList 从 Servlet 在 JSP 中可用。所以在 Servlet 中我有:

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":

${list}

session.setAttribute("name", value)application.setAttribute("name", value) 的工作方式相同。 EL 中的值仅由 ${name} 提供。


更多细节:EL 默认使用 PageContext#findAttribute()随后在页面、请求、 session 和应用程序范围中扫描与给定属性名称匹配的第一个非空属性值。

如果您想在不同范围内有多个同名属性的情况下明确指定范围,那么通常的方法是使用 ${pageScope}, ${requestScope}${sessionScope}${applicationScope}。例如

${requestScope.list}

另见:

关于jsp - 如何使用 EL 在 JSP 中获取 request/session/servletcontext 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3579172/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com