Thanks for the response. I think for most cases going the
@Parameter(defaultPrefix="literal")
approach is probably the best one. However I am curious, if I do set the
defaultPrefix as literal how would I be able to use a variable in my
template? For instance if I wanted to do

<t:layout title="Product Detail 15" ...>

where 15 is the value of ${id} elsewhere in the template. Would that be
something like...

<t:layout title="'Product Detail' id" ...>

?

Thanks again.

Jean-Philippe

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
> Josh Canfield
> Sent: Thursday, October 04, 2007 4:34 PM
> To: Tapestry users
> Subject: Re: [T5] Component Parameters
> 
> The problem with your first method is that you are trying to pass a
> literal
> but the default parameter type is property.
> 
> Change it to:
> <t:layout title="'My Page'">
> or
>  <t:layout title="literal:My Page">
> 
> or change the defaultPrefix in your Parameter to literal
> 
> @Parameter(defaultPrefix="literal")
> 
> 
> The problem with the second method is that you are passing a Block
> parameter
> and it's getting coerced into a String. Usually I use this for passing
> chunks of html into a component.
> 
> Josh
> 
> On 10/4/07, Jean-Philippe Steinmetz <[EMAIL PROTECTED]> wrote:
> >
> > Hello All,
> >
> >
> >
> > I have a layout component that I use to wrap all my pages with the same
> > HTML
> > header/footer. I would like to be able to set the page name with this
> > component. Ideally I would like it to look like:
> >
> >
> >
> > <t:layout title="MyPage"
> > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
> >
> > Page content goes here
> >
> > </t:layout>
> >
> >
> >
> > In my Layout class I have added
> >
> >
> >
> > @Parameter("")
> >
> > private String _title;
> >
> >
> >
> > public String getTitle()
> >
> > {
> >
> >     return _title;
> >
> > }
> >
> >
> >
> > When I first set my template as described above I got an error because
> the
> > name was the same as a class name and it was unable to convert the type.
> > So
> > then I changed it to
> >
> >
> >
> > <t:layout
> xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
> >
> > <t:parameter name="title">MyPage</t:parameter>
> >
> > Page content goes here
> >
> > </t:layout>
> >
> >
> >
> > This at least renders a page, but the title being displayed in the
> browser
> > shows up as
> >
> >
> >
> > [EMAIL PROTECTED]
> >
> >
> >
> > instead of displaying MyPage. What am I doing wrong? Thanks in advance.
> >
> >
> >
> > Jean-Philippe Steinmetz
> >
> >
> 
> 
> --
> --
> TheDailyTube.com. Sign up and get the best new videos on the internet
> delivered fresh to your inbox.


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

Reply via email to