The Border.java should extends BaseComponent instead
of BasePage.

Also, 
In Border.jwc, set the class parameter in
<component-specification>
to the associated java class (full package name of 
Border.java. eg class="man.components.Border").


Shing

--- Thx1011 <[EMAIL PROTECTED]> wrote:

> 
> Ok, I'll post the code:
> 
> The Home.html:
> 
> <html>
> <head><title>Tapestry Study</title></head>
> <body jwcid="$content$">
>    <span  jwcid="@Border">  </span>
> </body>
> </html>
> 
> The Home.page:
> 
> <page-specification>
> </page-specification>
> 
> The Border Component:
> 
> <html>
> <head></head>
> <body jwcid="@Body">
>    <span jwcid="[EMAIL PROTECTED]:JSCookMenu"
> source="ognl:menuModel"
> value="ognl:menuItem" ">
>        <a_ href="#"
> jwcid="[EMAIL PROTECTED]"
> listener="listener:onNavigate"
> parameters="ognl:menuItem.value" >
>       <span jwcid="@Insert"
> value="ognl:menuItem.value"/>
>           </a_>
>       </span>
> </body>
> </html>
> 
> The Border.JWC file:
> 
> <component-specification>
>   <asset name="xmlModel"
>
path="classpath:/com/partner/tapestry/start-menu.xml"
>  /> 
>   <component id="menu" type="menu:JSCookMenu">
>   </component>
> </component-specification>
> 
> The Border.JAVA file (section of interest):
> 
> public abstract class Border extends BasePage
> implements
> PageBeginRenderListener{
>  
>   private ArrayList<IJSCookMenuItem> model = null;
> 
> 
>   public Iterable<IJSCookMenuItem> getMenuModel(){
>     return model;
>   }
> 
>   public abstract IJSCookMenuItem getMenuItem();
>   
>   public void pageBeginRender(PageEvent arg0) {
>  ......
> 
> The Border.PAGE file:
> 
> <page-specification>
>   <asset path="context:/images/startmenu/book.gif"
> name="book"/>
> /// some more assets.... 
> </page-specification>
> 
> Now the errors:
> 
> FIRST Exception:
> 
> Unable to read OGNL expression '<parsed OGNL
> expression>' of
> [EMAIL PROTECTED]/$Border]:
> $BaseComponent_1.menuModel
> 
> And it show the line <span
> jwcid="[EMAIL PROTECTED]:JSCookMenu"
> source="ognl:menuModel" value="ognl:menuItem"
> theme="Office2003"
> position="hbr""> on the BORDER.HTML
> 
> The second exception is the same, but it shows the
> line:
> 
> <span jwcid="@Border"> </span>
> 
> on the Home.HTML file.
> 
> The third is the stack trace.
> 
> Thanks for the help! :-)
> 
> 
> 
> 
> 
> 
> 
> Denis Souza-3 wrote:
> > 
> > It might help if you post some code and the actual
> exception (you only
> > posted the stack trace).
> > 
> > -----Original Message-----
> > From: Thx1011 [mailto:[EMAIL PROTECTED] 
> > Sent: quinta-feira, 14 de dezembro de 2006 11:00
> > To: users@tapestry.apache.org
> > Subject: Re: Moving Components inside a Border
> Component...
> > 
> > 
> > Hi!
> > 
> > Thanks for your help, but I think that this is not
> quite the problem that
> > I
> > have...
> > 
> > Let's suppose one component named  XPTO, that
> takes one parameter PARM.
> > 
> > So in my "normal" Home page I use it like this:
> > 
> > <span jwcid="@XPTO" PARM="ognl:xmlAsset'">
> > 
> > This is ok, I think.
> > 
> > Now I move that line to inside the HTML new
> component named Border.
> > 
> > So my Home page becomes:
> > 
> > <span jwcid="@Border">
> > 
> > And Inside the new Border HTML, I put the same
> line above:
> > 
> > <span jwcid="@XPTO" PARM="ognl:xmlAsset">
> > 
> > What happens now is that I get an exception saying
> that can't parse the
> > OGNL
> > Expression....
> > 
> > I've moved the property accessors to the
> Border.java, but still it doesn't
> > work.
> > 
> > The exception is:
> > 
> > #
>
ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:123)
> > #
> ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
> > #
> ognl.ASTProperty.getValueBody(ASTProperty.java:96)
> > #
>
ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> > # ognl.SimpleNode.getValue(SimpleNode.java:210)
> > # ognl.Ognl.getValue(Ognl.java:333)
> > # ognl.Ognl.getValue(Ognl.java:310) 
> > 
> > So what I'm missing?
> >  
> > I really can't figure it out...
> > 
> > 
> > 
> > 
> > Ron Piterman-2 wrote:
> >> 
> >> you put it in the template of the component, and
> thats it.
> >> if you want it to be configured from the
> page/container you use 
> >> parameter chain.
> >> 
> >> for example:
> >> 
> >> your border might contain (and probably will):
> >> 
> >> <html jwcid="@Shell" title="ognl:title">...
> >> 
> >> since the title is different in every page you
> add
> >> a title parameter to your border:
> >> 
> >> @Parameter(required=true) public abstract String
> getTitle();
> >> 
> >> and when using the border:
> >> 
> >> <html jwcid="@Border" title="...">
> >> 
> 
=== message truncated ===


Home page :
  http://uk.geocities.com/matmsh/index.html

Send instant messages to your online friends http://uk.messenger.yahoo.com 

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

Reply via email to