gpt4 book ai didi

java - 跨 c 请求属性 :import contexts

转载 作者:行者123 更新时间:2023-12-02 00:48:18 25 4
gpt4 key购买 nike

我正在 Web 应用程序中使用 servlet 上下文/hello 开发 jsp(test.jsp)。我正在执行以下操作:

<c:import url = "/other/altTest.jsp" context="/" />

似乎 test.jsp 可用的请求属性对于从 c:import (altTest.jsp) 导入的 jsp 不可用,我怀疑是由于 context 参数所致。有人可以解释一下这背后的原因,并建议一种导入该 jsp 以便我可以访问请求属性的替代方法吗?

最佳答案

c:import 在幕后触发一个新的独立 HTTP 请求。即使该文件位于相同的上下文中,它也无法访问与打开父 JSP 时使用的相同请求。

最好的办法是将信息作为请求参数传递,或者可能存储为 session 属性,然后让导入的 JSP 将其从 session 中删除。尽管如此,这仍然要求不同的上下文共享相同的 session ——这可以在 servletcontainer 级别进行配置,例如在 Tomcat 中,将 中的 emptySessionPath 属性设置为 true context.xml.

另一种方法是使用 servlet,您可以这样做 ServletContext#getContext()获取另一个 servlet 上下文(仅当 context.xml 中的 crossContext 属性设置为 true 时),然后获取 RequestDispatcher 最后调用它的 forward() 。这是 JSP 标记不可能实现的。

关于java - 跨 c 请求属性 :import contexts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4252094/

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