我一直在使用Phase Listener来调试我的JSF应用程序。
现在我想知道是否可以动态加载它,例如,系统属性是否已设置(因此我可以提交该东西,而不必担心在生产中部署之前必须将其删除)。
有谁知道在faces-config.xml
中是否有办法做到这一点?
提前致谢!
答案 0 :(得分:2)
您可以通过UIViewRoot#addPhaseListener()
动态添加phaselisteners。
PhaseListener phaseListener = new YourPhaseListener();
FacesContext.getCurrentInstance().getViewRoot().addPhaseListener(phaseListener);
你只需要在每个视图的基础上进行。保持阶段监听器注册并让它仅在设置了所需的系统属性时才采取操作可能更好。