节点treetable primefaces消失

时间:2015-04-24 17:29:57

标签: jsf primefaces nodes treetable

我正在Liferay中使用Primefaces开发一个应用程序,我需要使用p:treeTable compenent,当点击p:commandButton时,节点会消失。我相信它与ajax有关系,如果将代码放在@PostConstruct中的managedBean中,它可以正常工作

这是我的.xhtml

-cp

我的managedBean

java

我确实试图解决它,但没有成功。

1 个答案:

答案 0 :(得分:0)

尝试将ManagedBean的范围更改为@ViewScoped (BalusC discussing scopes)由于此bean当前定义为@RequestScoped,因此将为每个请求创建并销毁新实例。我只是在这里猜测,但是当你的commandButton通过ajax POST时,JSF意识到它必须在“RESTORE_VIEW”阶段重建ManagedBean,但是这个某种程度上实际上并没有调用构造函数,因为它正在处理一个ajax请求。不过,根据您的发现,无论请求是否为ajax,JSF 必须在“RESTORE_VIEW”阶段调用@PostConstruct方法。

换句话说,treeTable从页面中消失,因为那时它在服务器端不存在。