I forgot to mention: I tried that, too (leaving out 'parameters').  Got
the exact-same error, that it couldn't find the matching listener.
That's why I'm inclined toward Ezra's intuition that this portion of
Tapestry doesn't differentation between a null value and no value at
all, when using the single-value version of 'parameters'.  But the
List/Object[] inputs appear to support nulls perfectly fine.

Jim

-----Original Message-----
From: Jesse Kuhnert [mailto:[EMAIL PROTECTED] 
Sent: Thursday, July 13, 2006 5:19 PM
To: Tapestry users
Subject: Re: Tapestry 4: @DirectLink with parameter="ognl:null" not
handled as a null parameter

I don't think parameters is a required "parameter" of DirectLink. What
happens when you don't define that portion at all?

On 7/13/06, Jim Steinberger <[EMAIL PROTECTED]> wrote:
>
> Ezra,
>
> While looking for a workaround for you, I found out it's not just
> /explicit/ nulls:
>
> To my page class, I added:
> public Integer getBip() {
>   return null;
> }
>
> And changed my template to:
> parameters="ognl:bip"
>
> And got the same error as you.  Good to know.
>
>
> But you can still do this.  The "parameters" attribute can also take
an
> Object[] or List, and OGNL makes it very easy to create one inline.
>
> The following worked for me:
> parameters="ognl:{ null }"
>
> Prolly cuz the list itself isn't null and thus not thrown away, and
then
> it's mapped to the input parameters.
>
> Jim
>
> -----Original Message-----
> From: Epstein, Ezra [mailto:[EMAIL PROTECTED]
> Sent: Thursday, July 13, 2006 4:39 PM
> To: Tapestry users
> Subject: Tapestry 4: @DirectLink with parameter="ognl:null" not
handled
> as a null parameter
>
> I've got working @DirectLink tags for a listener that takes a single
> String parameter.  In one case I want to pass in null as the
parameter.
> How does one do this?  Using
>
> <a href="#" jwcid="@DirectLink" listener="listener:setCurrentNodeId"
> parameter="ognl:null">Link</a>
>
> Causes:
>
> org.apache.tapestry.BindingException
> Exception invoking listener method setCurrentNodeId of component View:
> No listener method named 'setCurrentNodeId' suitable for no listener
> parameters found in [EMAIL PROTECTED]
> binding
> [EMAIL PROTECTED]
> parameter listener, component=View, methodName=setCurrentNodeId,
> location=context:/View.html, line 22]
>
> Yet the listener does exist and works just fine with a non-null param.
> I'm thinking that Tapestry throws away the param b/c its null?  If so,
> how does one explicitly provide a null param?  (And also, if so, isn't
> that behavior incorrect? i.e., is this a bug?)
>
> Thanks,
>
> Ezra Epstein
>
> ---------------------------------------------------------------------
> 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]
>
>


-- 
Jesse Kuhnert
Tacos/Tapestry, team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to