Alan,
Hehe, not sure it it's appropriate but a chat via msn messenger might be quicker and more productive. Ok if I mail it to you privately? Izak On 2/12/06, Alan Chandler < [EMAIL PROTECTED]> wrote: > > On Sunday 12 February 2006 18:21, Izak Wessels wrote: > > Ok, let me describe my problem in a bit more detail via an analogy. > > > > Let's say I have a html table, called ComputerPartTable, in a file - > > ComputerPart. This table > > has the following columns : partID, partName,partDesc. Now the user > > can click on the partID column and that will forward them to another > page, > > ComputerPartDetails, that displays the details of the selected computer > > part. > > so this is a table inside some form of @For loop? > > <table> > <tr jwcid="@For" source="ognl:listOfParts" value="ognl:thisPart" > element="tr"> > <td><a jwcid="@DirectLink" listener="listener:doShowPartDetails" > parameters="ognl:thisPart.id"><span jwcid="@Insert" > value="ognl:thisPart.id"> ...</span></a></td> > ... other columns > </tr> > </table> > > > > > > > Now, each part has different attributes. CPU has clockspeed, fsb speed, > > etc. > > > > RAM has size, speed, etc. > > > > So in the java for the ComputerPart.jave > > InjectPage("PartDetails") > public abstract IPage getPartDetailsPage(); > > public IPage doShowPartDetails (int partId) { > IPage pd = getPartDetailsPage(); > pd.setPartId(); > return pd; > } > > > > Ok, so I have created a custom component, called CPUComponentPart.jwcthat > > lists the relevant details of a CPU component. But what I want to do is, > I > > want to pass > > the partID to the CPUComponentPart.java so that I can lookup the correct > > details of > > the selected part. > > > > So in my ComputerPart I have > > I think you are doing this backwards maybe > > > > @Parameter > > public abstract CPUComponentPart getCPUComponentPart(); > > where does this form action get called from, is this after the user has > filled > stuff in? > > > > public void onFormAction(Integer partID) { > > getCPUComponentPart().setPartID(partID); // this is the line where i > am > > getting an exception > > } > > > What you seem to be missing is the PartDetailsPage > > public class PartDetails extends BasePage implements PageRenderListener { > > public abstract void setPartId(int id): > public abstract int getPartId(); > > public abstract void setComponentPart (CPUComponentPart cp); > > > public void pageBeginRender (PageEvent event) { > > if(!event.getRequestCycle().isRewinding()) { > > > setComponentPart(someFunctionToGetComponentFromPartID(getPartId()); > .... > } > > and then in > > PartDetails.html > > <span jwcid="@ComponentPart" CPUComponentPart="ognl:componentPart" /> > > > > > I've probably still totally missunderstood what you are trying to do - but > thats how I would do what you seem to be trying to do. NOTE: I tend to > avoid specification files and specify everything in-line. You can > obviously > move it out to specification files if you want. > > > -- > Alan Chandler > http://www.chandlerfamily.org.uk > Open Source. It's the difference between trust and antitrust. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >