今天花了大概4个小时解决一个JSF问题。
其实很简单:
Selection->submit form with ajax->modify the panel
问题在于我们页面用的是Primeface,每次提交之后对应的Bean会重新初始化其属性,所以一直得不到Form里面的值。
一开始以为是页面写的有问题,查了半天primeface的文档。
最后无意中发现另一个页面里面@Postconstruct里面有一句:
FacesContext.getCurrentInstance().isPostback()
太神奇了,原来加上这句之后,这个bean虽然也会重新创建,但是会继承之前的属性……
一切Code Generation都是邪恶的!
其实很简单:
Selection->submit form with ajax->modify the panel
问题在于我们页面用的是Primeface,每次提交之后对应的Bean会重新初始化其属性,所以一直得不到Form里面的值。
一开始以为是页面写的有问题,查了半天primeface的文档。
最后无意中发现另一个页面里面@Postconstruct里面有一句:
FacesContext.getCurrentInstance().isPostback()
太神奇了,原来加上这句之后,这个bean虽然也会重新创建,但是会继承之前的属性……
一切Code Generation都是邪恶的!