Hmm. I'm no expert, but couldn't it be that you try to use your Border component as if it were a page? Remember that a page can contain several components, which in turn can contain components, but when you call the getPage() method in the component it actually correctly returns a reference to the current page, whichever one you have for the moment.
Cheers, PS On 4/12/06, matt wear <[EMAIL PROTECTED]> wrote: > > I have a Border component that has a menu composed of direct links. For > some reason, tapestry is looking for the listeners of these links in the > .java file of the page that the border is contained in, and not the > Border object its self. Here is a very simple example of what I am > saying. > > Border.jwc > <component-specification allow-informal-parameters="no"> > <parameter name="id"/> > <parameter name="title"/> > <parameter name="level"/> > <component id="editClient" type="DirectLink"> > <binding name="listener" value="listener:editClient"/> > </component> > </component-specification> > > Border.html > <html> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> > <link href="./css/be.css" type="text/css" rel="stylesheet" /> > <title><span jwcid="@Insert" value="ognl:title">title</span></title> > </head> > <body jwcid="@Body"> > <div id="content"> > <span jwcid="@RenderBody">Page Content</span> > </div> > <div id="menu"> > <span jwcid="@If" condition="level == 'client'"> > <ul> > <li><a jwcid="editClient">Edit Client</a></li> > </ul> > </span>< > </div> > </body> > </html> > > Border.java > public abstract class Border extends BaseComponent > { > @InjectPage("ClientForm") > public abstract ClientForm getClientForm(); > > public IPage editClient() > { > ClientForm clientForm = getClientForm(); > clientForm.setClientId((Integer) > PropertyUtils.read(getPage(),"clientId")); > > return clientForm; > } > } > > Now, say for a example I include the Border component on a page > ClientHome. I get an error saying that ClientHome does not implement a > listener editClient, when I really want the editClient listener of the > Border component to be called. > > I looked at the virtual library example because the same thing is being > done with the Border component there, however, I can not see what I've > done wrong. Why isn't the listener editClient of the Border component > being called? Thanks in advance for any help. > > - Matt Wear > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >