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]

Reply via email to