繁体   English   中英

JSF 1.2刷新会话Bean

[英]JSF 1.2 refresh session bean

我有一个基于会话的Bean的JSF 1.2应用程序。 该bean用于搜索我们的数据库。 在我们的主页上,我有一些HTML控件,它们构建了一个搜索参数URL,然后将浏览器URL设置为JSP。 由于Bean是基于会话的,因此您首次通过主页访问时,将正确传递参数。 但是,后续访问意味着该参数将被忽略,因为Bean中未执行任何功能。 强制在Bean中重新加载init函数的最佳方法是什么?

对于会话范围的bean,这是完全预期的行为。 它存储在HTTP会话中,并且只要HTTP会话存在就可以重用,并且不会在每个HTTP请求上都重新创建/初始化。 如果打算在每个HTTP请求上重新创建/重新初始化Bean,则应将其放在请求范围内。

但是,如果Bean代表了请求范围的数据和会话范围的数据的混合,那么您应该将Bean分为两个单独的Bean,一个请求范围的请求用于请求范围的数据,一个会话范围的会话用于会话范围的数据。 您可以在范围为1的请求上使用<managed-property> ,将范围为1的会话作为请求范围为1的属性注入。 这样,您就可以将动作放在请求范围内的操作中,该操作将需要访问/操纵范围为1的会话的数据。

也可以看看:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM