在页面访问之前初始化JSF2 SessionBean

时间:2011-04-27 19:08:11

标签: jsf-2

我们正在使用JSF2和Tomcat6。我们需要在用户访问第一页之前初始化具有后端值的会话bean。我可以知道怎么做吗?

2 个答案:

答案 0 :(得分:0)

如果您只想从页面访问常见的会话范围数据,则可以

  • 只为该数据编写会话bean
  • 在需要访问此数据的所有页面中使用该会话bean;一个页面不需要只使用一个bean,你可以将一些bean用于大多数页面特定数据,一个用于公共数据
  • 在需要访问此公共数据的所有bean中将该会话bean用作“托管属性”(jsf2中的@ManagedProperty批注)

答案 1 :(得分:0)

严格说出你的要求是不可能的。用户完成第一次请求后,就会创建一个会话。通常,您不能为从未在服务器上请求过任何页面的用户提前创建会话。

从页面引用的任何会话范围bean都将在第一次调用该页面时初始化,并且仅在第一次调用期间初始化。这是你能得到的最好的。

如果你实际上是指一个SessionBean而不是一个会话范围的托管bean,那么事情会有所不同。因为你没有在你的问题上使用EJB标签,我认为它是后者。)