繁体   English   中英

JSF生命周期以验证结束

[英]JSF life cycle ends with validation

我有一个<p:commandButton action=#{bean.action} .../> 不调用该动作方法。 我读到h:commandButton没有被调用 没有1-2被选中,没有4-11不适用于我。 对于No 3,我使用AfterPhase方法构建一个PhaseListener:

public void afterPhase(PhaseEvent event) {
    System.out.println("after Phase: "+event.getPhaseId());
    FacesContext f= event.getFacesContext();
    List<FacesMessage> ml = f.getMessageList();
    for (FacesMessage m:ml){
        System.out.println(m.getSummary()+": "+m.getDetail());
    }
}

这告诉我周期以PROCESS_VALIDATIONS(3)阶段结束,但没有消息。 我在调试模式下重新启动了Servlet容器,并为其设置了捕获和未捕获的ValidatorExceptions(包括其子类)的断点。 但非抛出。

我接下来可以去哪里看看?

在最小化发布SSCCE的代码期间(请参见上面的注释),我将<p:commandButton>更改为<h:commandButton> ,这导致了

javax.el.PropertyNotFoundException: Target Unreachable, 'someField' returned null

因为表单中的<h:inputText value="#{someBean.someField.someOtherField}"> 该PrimeFaces命令按钮不会呈现这种情况下的错误消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM