Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSF生命周期的哪些阶段应该在页面刷新时被调用_Jsf - Fatal编程技术网

JSF生命周期的哪些阶段应该在页面刷新时被调用

JSF生命周期的哪些阶段应该在页面刷新时被调用,jsf,Jsf,页面刷新时JSF生命周期的所有阶段都应该调用什么,这完全取决于请求的类型(POST或get)和可用参数。例如,一个普通的GET请求只会启动第一个和最后一个阶段。默认情况下,“双重提交”(刷新表单提交)将经历所有阶段,但根据UIInput和/或UICommand组件中是否存在immediate=“true”,可能会跳过某些阶段 您可以创建一个简单的PhaseListener,并使用它来了解哪些阶段被执行,哪些没有执行 package mypackage; import javax.faces.e

页面刷新时JSF生命周期的所有阶段都应该调用什么,这完全取决于请求的类型(POST或get)和可用参数。例如,一个普通的GET请求只会启动第一个和最后一个阶段。默认情况下,“双重提交”(刷新表单提交)将经历所有阶段,但根据
UIInput
和/或
UICommand
组件中是否存在
immediate=“true”
,可能会跳过某些阶段

您可以创建一个简单的
PhaseListener
,并使用它来了解哪些阶段被执行,哪些没有执行

package mypackage;

import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;

public class LifeCycleListener implements PhaseListener {

    public PhaseId getPhaseId() {
        return PhaseId.ANY_PHASE;
    }

    public void beforePhase(PhaseEvent event) {
        System.out.println("START PHASE " + event.getPhaseId());
    }

    public void afterPhase(PhaseEvent event) {
        System.out.println("END PHASE " + event.getPhaseId());
    }

}
faces config.xml
中按如下方式注册它以使其运行:

<lifecycle>
    <phase-listener>mypackage.LifeCycleListener</phase-listener>
</lifecycle>

mypackage.LifeCycleListener
另见: