从另一个请求范围的 Bean 实例化会话范围的托管 Bean
我需要从另一个请求范围的 bean 实例化一个会话 bean &为该 bean 设置值。我怎样才能用另一个豆子做到这一点?
实际上,我需要在用户成功登录后实例化 usersession
bean我需要设置该会话 bean 的 user
托管属性。
I need to instantiate a session bean from another request scoped bean & set values to that bean. How can I do that from another bean ?
Actually I need to instantiate the usersession
bean after user has successfully logged in & I need to set the user
managed property of that session bean.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要以通常的方式手动实例化它并将其放入
ExternalContext#getSessionMap()
:以正确设计的名义,我宁愿将工作委托给 JSF,只需将其注入为
@ManagedProperty
:You need to manually instantiate it the usual way and put it in
ExternalContext#getSessionMap()
:In name of proper design, I'd rather delegate the job to JSF by just injecting it as
@ManagedProperty
:登录时设置
usersession
bean 的user
属性。如果在登录之前实例化它并不重要,因为它的user
属性将保持为 null,直到登录完成。并使用
@javax.inject.Inject
注释将usersession
bean 注入到您的请求处理 bean 中。Set the
user
property of yourusersession
bean upon login. It does not matter if it is instanciated before login, because itsuser
property will remain null until login is done.And inject
usersession
bean in your request coped beans with@javax.inject.Inject
annotation.