Gary VanMatre wrote:
Gary VanMatre wrote:
From: Richard Wallace <[EMAIL PROTECTED]>
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">[EMAIL PROTECTED]</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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]