gpt4 book ai didi

jsf - 如何从 Servlet 访问 @ViewScoped 托管 bean?

转载 作者:行者123 更新时间:2023-12-04 15:01:30 27 4
gpt4 key购买 nike

我想访问 Servlet 中的 View 范围托管 bean。

我搜索了类似的问题并得到了这些:

how to get beans from view scope使用 FacesContext.getCurrentInstance() , 在 Servlet 中不适用,因为它应该给出一个 null 结果

JSF - get managed bean by name它处理所有其他范围但不处理 View 范围

我会认为这是不可能的,是吗?

有一个简单的解决方案可以将该 bean 范围更改为 session 范围,但这是最后一次机会,因为我担心内存消耗。

我的最终需求如下:managebean 包含一些显示在数据表中的数据。同一页面应包括这些数据的图表表示的图像(强制性)。图像可以由 Servlet 生成,但它需要访问数据或从数据库重新加载它们。

我也试过 <p:graphicImage>来自 PrimeFaces 2.X 但它与 viewscope bean 不兼容。有什么建议吗?

最佳答案

那不可能,不。 View 范围与特定的 JSF View 相关联,这在普通的 HTTP servlet 请求中是无法实现的。请注意,您也无法在普通 HTTP servlet 请求期间访问具体的请求范围 bean,它们将始终返回 null .

session 范围是您可以获得的最佳范围。一旦您在 servlet 中完成了该属性,您就可以从 session 范围中删除该属性。

session.removeAttribute("somename");

关于jsf - 如何从 Servlet 访问 @ViewScoped 托管 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469862/

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