Can you paste the stacktrace. It would be more helpful to know where exactly
is the nullpointer exception happening..

It might not be the component's fault. This is the behaviour I was
experiencing with myfaces 1.09 , might be something similar in your case.

I had a bunch of different radio buttons in a datatable, all disconnected
and having an individual selectOneRadio. For each radio that was not
selected, myfaces was setting the corresponding backing bean value to null.

And my application was crashing because if some earlier radio button was
clicked, but not a later one, then the end result would be a null value in
the backing bean due to the later radio button.

Hope this helps..

Rahul
 

-----Original Message-----
From: steve rock [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 17, 2005 3:55 PM
To: MyFaces Discussion
Subject: Re: h:selectManyCheckbox throwing NullPointerException when none
selected. Why?

Second request. Stopping me from implementing a new feature in production. 

I basically have a list of checkboxes on a form that throws an error
if none of them are selected. I need to be able to not have to select
any checkboxes. Any ideas?

-Steve

On 8/14/05, steve rock <[EMAIL PROTECTED]> wrote:
> Here's my component.
> 
>  <h:selectManyCheckbox id="stationFeatures" layout="pageDirection"
> value="#{userTool.newUserFeatures}"  >
>       <f:selectItems value="#{userTool.featureSelectItems}"/>
> </h:selectManyCheckbox>
> 
> It presents a list of radio stations a user can select. However as
> part of the business requirements they can have none selected. When I
> select none and submit the form, I get a NullPointerException. How
> come?
> 
> 
> Here is the stack trace:
> 
> java.lang.NullPointerException
>         at
org.apache.myfaces.renderkit._SharedRendererUtils.getConvertedUISelectManyVa
lue(_SharedRendererUtils.java:118)
>         at
org.apache.myfaces.renderkit.RendererUtils.getConvertedUISelectManyValue(Ren
dererUtils.java:792)
>         at
org.apache.myfaces.renderkit.html.HtmlCheckboxRendererBase.getConvertedValue
(HtmlCheckboxRendererBase.java:260)
>         at
javax.faces.component.UISelectMany.getConvertedValue(UISelectMany.java:295)
>         at javax.faces.component.UIInput.validate(UIInput.java:291)
>         at
javax.faces.component.UISelectMany.validate(UISelectMany.java:284)
>         at
javax.faces.component.UIInput.processValidators(UIInput.java:166)
>         at
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:427)
>         at
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:427)
>         at
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:427)
>         at javax.faces.component.UIForm.processValidators(UIForm.java:66)
>         at
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:427)
>         at
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:162)
>         at
org.apache.myfaces.lifecycle.LifecycleImpl.processValidations(LifecycleImpl.
java:208)
>         at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:92)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
>         at
org.apache.myfaces.webapp.MyFacesServlet.service(MyFacesServlet.java:70)
>         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:237)
>         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
>         at
com.m2g.stationtools.web.filters.StationToolsRequestContextFilter.doFilter(S
tationToolsRequestContextFilter.java:49)
>         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:186)
>         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
>         at
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsF
ilter.java:112)
>         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:186)
>         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
>         at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214)
>         at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
>         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198)
>         at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:152)
>         at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
>         at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoci
ationValve.java:72)
>         at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
>         at
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrR
ealm.java:275)
>         at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
>         at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:540)
>         at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
>         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
)
>         at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
>         at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
)
>         at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
>         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
>         at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
>         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>         at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>         at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>         at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:705)
>         at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>         at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
>         at java.lang.Thread.run(Thread.java:534)
>

Reply via email to