gpt4 book ai didi

JSF:如何检查我是否处于 "Restore View"阶段?

转载 作者:行者123 更新时间:2023-12-04 16:49:50 25 4
gpt4 key购买 nike

当我的托管 bean 中的特定方法被调用时,我想知道我是否处于 JSF 生命周期的恢复 View 阶段。我怎样才能做到这一点?

最佳答案

如果您已经在使用 JSF 2.0,那么您可以使用 FacesContext#getCurrentPhaseId() 检查它:

if (FacesContext.getCurrentInstance().getCurrentPhaseId() == PhaseId.RESTORE_VIEW) {
// Restore view called.
}

但是,如果您仍在使用 JSF 1.x,那么最好的方法是使用 PhaseListener 收听 PhaseId.RESTORE_VIEW , 在 beforePhase() 期间在请求范围内设置标志/切换/ token 并在 afterPhase() 期间删除它.然后让 bean 的 getter 方法检查它在请求范围中的存在。

也就是说,你到底需要它做什么?我从来没有需要这样的功能需求。不是 bean 的构造函数或 @PostConstruct带注释的方法可能是一个更好的地方来做这样的初始化工作?

关于JSF:如何检查我是否处于 "Restore View"阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2547048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com