JSF2.0中的managed bean生命周期(补充)

时间:2022-08-11 19:07:54

我们为什么要讨论managed bean的生命周期呢?

原因在于JSF2.0中的data即数据,都是从managed bean中取出来和放进去的。

 

managed bean的生命周期即此bean可以生存多久,bean上的数据可以保存多久。

 

关于数据保存有两种方式

一,控制 managed bean的生命周期,使bean活着,数据不丢失。

二,是每次提交数据 和 事件listener被触发的时候,表单<h:form></h:form>中的数据都会提交到bean生成managed bean

这样给人一种错觉,好像之前的bean还活着因为数据还在呀!其实不然,是new了新的bean只不过数据被重新注入了,给人的错觉就像还在使用原来的bean一样。你可以看到没有被<h:form></h:form>包括的范围内的bean的数据,bean的数据都初始化了。

 

这也是@ViewScoped诞生的原因,当然你也可以通过 把需要的数据全都放到<h:form></h:form>中来替代@ViewScoped