2

我有一个使用 JSP 编码的应用程序,现在我们正在将页面迁移到 Facelets。

我们的 PhaseListener 之一是操作组件树,因为它需要找出树中的一些组件并提取其中的一些值。但是对于 Facelets,UIViewRoot 不会返回任何子级。

如何使用 Facelets 获得相同类型的功能?

提前致谢, 保罗

4

1 回答 1

3

使用此行检索 UIViewRoot 应该可以:

FacesContext.getCurrentInstance().getViewRoot

我的猜测是您正试图在 JSF 生命周期的第一阶段操作组件树。(链接

第一阶段包括检索请求页面的视图,即组件树。因此,您可以在此阶段完成后探索组件树。

利用

phaseEvent.getPhaseId()

看看你在哪个阶段工作。

于 2009-06-26T16:01:45.403 回答