I have a jsf page that contains three selectOneRadio elements. The first two works fine. But this last one (see below) keeps getting the “”jakarta.faces.component.UISelectOne.getGroup()” is null” error. I noticed that if I remove the group attribute, I don’t get that error. I need the group attribute, but I can’t figure out why jsf is not liking it. Any idea what might be causing this error? Note: I am using myfaces 3.x
The selectOneRadio element:
<h:dataTable id="phoneNumberTypeListTable" value="#{addDevicesBean.orderBean.phoneNumberTypeListTable}" var="item">
<h:column>
<h:outputText value=" " escape="false" />
</h:column>
<h:column>
<h:selectOneRadio id="phoneNumberTypeSelectButton" group="phoneNumberTypeSelection" value="#{addDevicesBean.orderBean.selectedPhoneNumberType}">
<f:selectItem itemLabel="#{item.label}" itemValue="#{item.value}" itemDisabled="#{item.disable }" />
<f:ajax event="click" listener="#{addDevicesBean.selectThisPhoneNumberType}" execute="@form" render=":deviceDetailForm :msg_messagesPopUp"
onevent="function(ajaxData) {addDevices.onAjax(ajaxData, 0, addDevices.ACTION_SELECT_THIS_PHONE_NUMBER_TYPE);}" />
</h:selectOneRadio>
</h:column>
. . .
</h:dataTable>
The error I am getting when I clicks the radio button
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "jakarta.faces.component.UISelectOne.getGroup()" is null
at jakarta.faces.component.UISelectOne$1.visit(UISelectOne.java:89)
at org.apache.myfaces.component.visit.FullVisitContext.invokeVisitCallback(FullVisitContext.java:140)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1030)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1189)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1189)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1189)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1189)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1189)
at jakarta.faces.component.UIForm.visitTree(UIForm.java:357)
at jakarta.faces.component.UISelectOne.processValidators(UISelectOne.java:84)
at jakarta.faces.component.UIData.process(UIData.java:2059)
at jakarta.faces.component.UIData.processColumnChildren(UIData.java:2044)
at jakarta.faces.component.UIData.processValidators(UIData.java:1901)
at jakarta.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1462)
at jakarta.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1462)
at jakarta.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1462)
at jakarta.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1462)
at jakarta.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1462)
at jakarta.faces.component.UIForm.processValidators(UIForm.java:210)
at org.apache.myfaces.context.servlet.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:779)
at org.apache.myfaces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:213)
at jakarta.faces.component.UIForm.visitTree(UIForm.java:326)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at jakarta.faces.component.UIComponent.visitTree(UIComponent.java:1058)
at jakarta.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1196)
at org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartialExecute(PartialViewContextImpl.java:435)
at org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:416)
at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:65)
at jakarta.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:97)
at org.omnifaces.context.OmniPartialViewContext.processPartial(OmniPartialViewContext.java:122)
at jakarta.faces.component.UIViewRoot$ProcessValidatorPhaseProcessor.process(UIViewRoot.java:1880)
at jakarta.faces.component.UIViewRoot._process(UIViewRoot.java:1738)
at jakarta.faces.component.UIViewRoot.processValidators(UIViewRoot.java:982)
at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:38)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:195)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:142)
at jakarta.faces.webapp.FacesServlet.service(FacesServlet.java:204)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:67)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at com.arch.servlet.myaccount.SessionExpiredFilter.doFilter(SessionExpiredFilter.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at io.smallrye.metrics.jaxrs.JaxRsMetricsServletFilter.doFilter(JaxRsMetricsServletFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:356)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1762)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:842)