primefaces: PickList: NullPointerException after validation failure with Mojarra
Forum Post: https://forum.primefaces.org/viewtopic.php?f=3&t=58237
Stack Overflow: https://stackoverflow.com/questions/54826563/primefaces-picklist-with-omnifaces-validateall-leads-to-nullpointerexception
OmniFaces: https://github.com/omnifaces/omnifaces/issues/488
We null some NULL checks to guard against NPE’s.
The StackTrace is on the mentioned StackOverflow page. With PrimeFaces 7.0 it’s this:
Caused by:java.lang.NullPointerException
at org.primefaces.component.picklist.PickList.validateValue(PickList.java:140)
at javax.faces.component.UIInput.validate(UIInput.java:982)
at org.primefaces.component.picklist.PickList.validate(PickList.java:181)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1248)
at javax.faces.component.UIInput.processValidators(UIInput.java:712)
at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:575)
at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1689)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
at javax.faces.component.UIForm.visitTree(UIForm.java:371)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:63)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
at org.omnifaces.context.OmniPartialViewContext.processPartial(OmniPartialViewContext.java:124)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1193)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
And for the PickListRenderer the NPE is in line 127:
encodeList(context, pickList, clientId + "_target", PickList.TARGET_CLASS, model.getTarget(),
pickList.getFacet("targetCaption"), pickList.isShowTargetFilter(), false);
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 19 (19 by maintainers)
Commits related to this issue
- Fix #4756: PickList defensive null check. — committed to melloware/primefaces by melloware 5 years ago
- Fix #4756: PickList defensive null check. — committed to melloware/primefaces by melloware 5 years ago
- Merge pull request #4759 from melloware/PF4756 Fix #4756: PickList defensive null check. — committed to primefaces/primefaces by tandraschko 5 years ago
@mertsincan good fix for ELITE