我有<p:commandButton action=#{bean.action} .../>
。不调用action方法。我看了h:commandButton is not being invoked。
没有检查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(包括其子类)设置了断点。但非被抛出。
我在哪里可以看下一个?
答案 0 :(得分:0)
在最小化发布SSCCE的代码期间(请参阅上面的评论)我将<p:commandButton>
更改为<h:commandButton>
,这导致了
javax.el.PropertyNotFoundException: Target Unreachable, 'someField' returned null
因为表单中有<h:inputText value="#{someBean.someField.someOtherField}">
。在这种情况下,PrimeFaces CommandButton不会呈现错误消息。