Jsf 2 什么时候在JSF中实例化bean?
如果PageA和PageB与BeanA和BeanB链接,当我们从PageA遍历到PageB时,BeanB的构造函数在渲染响应阶段,即渲染器渲染PageB标记时是否被调用?希望下面的描述能帮助您理解该行为 范围注释设置托管bean将放置到的范围。若并没有指定范围,那个么bean将默认为请求范围。下面简要讨论每个范围 范围说明 @请求范围Jsf 2 什么时候在JSF中实例化bean?,jsf-2,Jsf 2,如果PageA和PageB与BeanA和BeanB链接,当我们从PageA遍历到PageB时,BeanB的构造函数在渲染响应阶段,即渲染器渲染PageB标记时是否被调用?希望下面的描述能帮助您理解该行为 范围注释设置托管bean将放置到的范围。若并没有指定范围,那个么bean将默认为请求范围。下面简要讨论每个范围 范围说明 @请求范围 Bean的寿命与HTTP请求-响应的寿命一样长。它在HTTP请求时创建,在与HTTP请求关联的HTTP响应完成时销毁 @无范围 Bean的寿命与单个EL评估一样长
Bean的寿命与HTTP请求-响应的寿命一样长。它在HTTP请求时创建,在与HTTP请求关联的HTTP响应完成时销毁 @无范围 Bean的寿命与单个EL评估一样长。它在EL评估时创建,并在EL评估后立即销毁 @视域 只要用户在浏览器窗口/选项卡中与相同的JSF视图交互,Bean就会存在。它是根据HTTP请求创建的,一旦用户回发到不同的视图,它就会被销毁 @已处理的会话
Bean的寿命与HTTP会话的寿命一样长。它在会话中涉及此bean的第一个HTTP请求时创建,并在HTTP会话无效时销毁 @适用范围
Bean的寿命与web应用程序的寿命一样长。它在应用程序中涉及此bean的第一个HTTP请求时创建(或者当web应用程序启动并且在@ManagedBean中设置了eager=true属性时),并在web应用程序关闭时销毁 @自定义范围
只要为这个作用域创建的自定义映射中的Bean条目存在,Bean就存在 另一个重要特征是渴望。如果eager=“true”,则在第一次请求托管bean之前创建托管bean,否则将使用默认的“惰性”初始化,只有在请求托管bean时才会创建托管bean
@ManagedBean(name = "helloWorld", eager = true)
@RequestScoped
public class HelloWorld {
....
参考资料:
因此,如果PageA有Sessionscoped BEAN beanA,当PageA在呈现响应阶段呈现时,它会被实例化吗?是的,当第一个HTTP请求到达页面时,它会被呈现并启动BEAN。因此,该实例一直处于活动状态,直到会话过期。哪个规范描述了jsf中的作用域?@jayallalk,如果在您的答案中包含引用,请将其标记为该引用,并包含来自源代码的链接。@Arash,@Xtreme,感谢您的建议您可以从以下链接和