struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Wallace <rwall...@thewallacepack.net>
Subject Re: [shale] Form token giving NPE
Date Tue, 02 May 2006 13:39:52 GMT
Gary VanMatre wrote:
>> Gary VanMatre wrote:
>>     
>>>> From: Richard Wallace <rwallace@thewallacepack.net> 
>>>>
>>>> I'm trying to use the token component on a form to ensure that a user 
>>>> doesn't submit the form more than once. Whenever I try and submit the 
>>>> form a second time, I get a NPE. I'm using it in Clay, if that makes 
>>>> any difference. The code is simply: 
>>>>
>>>> <form>
>>>>    <span jsfid="token" id="token" />
>>>>    <span jsfid="message" for="token" class="validation-msg" />
>>>>    ...
>>>> </form>
>>>>
>>>>
>>>> I'm using the 1.0.3-SNAPSHOT jars from the maven-snapshot-repository, 
>>>> last updated on April 19th. Any ideas why I'm getting the below NPE? 
>>>>
>>>>     
>>>>         
>>> It's working with myfaces 1.1.1.  The exception points at the findComponent 
>>>       
>> but I would have guessed that we are not populating one of the message component

>> attributes.   
>>     
>>> Try adding the showSummary attribute to the message component.
>>>           <span jsfid="message" for="token" showSummary="true"  />
>>> Gary
>>>
>>>   
>>>       
>> Sorry it's taken a while to get back to this, but it was suddenly 
>> decided to change the whole flow of the app I'm working on. 
>>
>> I tried adding the showSummary="true" attribute and am getting the same 
>> exception.  Any other ideas?
>>
>>     
> It looks as if this HtmlMessageRenderer class is in the tomahawk archive.  
> It seems to be trying to find matching components for labels.  Are you 
> sure you don't have a HtmlOutputLabel that has a null "for" attribute?
> If you create a ticket and attach an example I'll try working throught it.
>
> Gary
>
>   
Yup, that was it exactly.  The page in question is actually a "confirm 
your input before continuing" type of page, so it doesn't have any 
actual input components.  But, it still uses a bunch of lines like

<label>Name</label>
<span class="t">#{@managed-bean-name.name}</span>

The only reason there is a label there is for getting the correct 
styling (or so the web designer tells me).  Clay turns these into 
outputLabel components without a for attribute.  So I changed the 
t:messages component to just the plain old messages and it started 
working perfectly.  I don't particularly need it to be a t:messages 
component, so that's not a big deal.  I am noticing a bunch of warnings 
about there being no for attribute in the logs.  Should I add an id to 
the <span> and set the for attribute to that, even though it's not an 
input component?  Or is that going to cause other problems you think?

Thanks for the help,
Rich
>   
>> Thanks,
>> Rich
>>     
>>>> Thanks, 
>>>> Rich 
>>>>
>>>> java.lang.NullPointerException: expr 
>>>> at 
>>>> javax.faces.component.UIComponentBase.findComponent(UIComponentBase.java:210)

>>>> at 
>>>>
>>>>         
>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.createOutputLabelMap(H

>>     
>>>> tmlMessageRenderer.java:200) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.createOutputLabelMap(H

>>>> tmlMessageRenderer.java:214) 
>>>> at 
>>>>
>>>>         
>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.createOutputLabelMap(H

>>>       
>>>> tmlMessageRenderer.java:214) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.createOutputLabelMap(H

>>>> tmlMessageRenderer.java:214) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.createOutputLabelMap(H

>>>> tmlMessageRenderer.java:214) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.createOutputLabelMap(H

>>>> tmlMessageRenderer.java:214) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.createOutputLabelMap(H

>>>> tmlMessageRenderer.java:214) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.createOutputLabelMap(H

>>>> tmlMessageRenderer.java:214) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.getOutputLabelMap(Html

>>>> MessageRenderer.java:184) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer.findInputLabel(HtmlMes

>>>> sageRenderer.java:128) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessagesRenderer.getSummary(HtmlMessag

>>>> esRenderer.java:54) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.HtmlMessageRendererBase.renderSingleFacesMessa

>>>> ge(HtmlMessageRendererBase.java:101) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.HtmlMessagesRendererBase.renderList(HtmlMessag

>>>> esRendererBase.java:94) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.HtmlMessagesRendererBase.renderMessages(HtmlMe

>>>> ssagesRendererBase.java:75) 
>>>> at 
>>>>
>>>> org.apache.myfaces.renderkit.html.ext.HtmlMessagesRenderer.encodeEnd(HtmlMessage

>>>> sRenderer.java:42) 
>>>> at 
>>>> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)

>>>> at 
>>>> org.apache.shale.clay.component.Clay.recursiveRenderChildren(Clay.java:379)

>>>>
>>>>
>>>> --------------------------------------------------------------------- 
>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org 
>>>> For additional commands, e-mail: user-help@struts.apache.org 
>>>>         


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message