zoukankan      html  css  js  c++  java
  • Xpages 执行的生命周期

      Xpages基于JSF构建,因此有了生命周期的概念。一共分为6个周期。分别为:

    1、RESTORE_VIEW

    2、APPLY_REQUEST_VALUE

    3、PROCESS_VALIDATION

    4、UPDATE_MODEL_VALUE

    5、INVOKE_APPLICATION

    6、RENDER_RESPONSE

    检测生命周期可用通过以下代码:

     1 package combestv10;
    2
    3 import javax.faces.event.PhaseEvent;
    4 import javax.faces.event.PhaseId;
    5 import javax.faces.event.PhaseListener;
    6
    7 public class LifeCycleListener implements PhaseListener {
    8
    9 private static final long serialVersionUID = 1L;
    10
    11 public PhaseId getPhaseId() {
    12 return PhaseId.ANY_PHASE;
    13 }
    14
    15 public void beforePhase(PhaseEvent event) {
    16 System.out.println("开始 PHASE :" + event.getPhaseId());
    17 }
    18
    19 public void afterPhase(PhaseEvent event) {
    20 //System.out.println("结束 PHASE :" + event.getPhaseId());
    21 }
    22
    23 }

    然后在face-config.xml文件中增加以下代码:

    1 <lifecycle>
    2 <phase-listener>combestv10.LifeCycleListener</phase-listener>
    3 </lifecycle>

      今天提到这个问题主要是因为我在处理按钮的click事件发现一个奇怪的现象,就是执行的时候只执行了生命周期1、2、6,把4、5跳过了,这样的结果就是数据没能保存到文档中。

    在生命周期中4、UPDATE_MODEL_VALUE主要操作就是把数据写到Document中。

      问题出现的时候后台也没有报错,后来在Xpages添加了一个"显示错误(多个)"控件,这个控件用来显示页面错误信息。之后执行按钮事件的时候出现了"验证错误:值无效",这样问题就找到了,由于在生命周期3、PROCESS_VALIDATION中没有通过,导致跳过4、5.  解决掉验证错误之后正常了。

  • 相关阅读:
    Java JPA 入门
    Java JSP 常用标签及自定义标签
    Collection 之 Set、List和Map
    Socket 详解
    MyEclipse 配置SQL Server 2008数据库驱动
    IO 常用IO操作类继承结构 及简单简介
    JSP 相关对象
    Android 入门体验
    C#访问修饰符总结
    C# Socket编程 同步以及异步通信
  • 原文地址:https://www.cnblogs.com/luoaz/p/2409770.html
Copyright © 2011-2022 走看看