Tapestry has always had a tight binding between the component class and the template. This is opposed to Struts et al, which has a weak relationship (and a lot more configuration).

To accomplish what you want to do, you can take one of several approaches:

- Have multiple pages, representing the same content in different formats. I.e. Article, ArticleShort, ArticleLong, ArticleRSS, ArticlePrint, etc.

- Have a component that dynamically selects another component based on the desired format, specified via a parameter. The metaphor here would be a common method with a case statement. This is roughly the approach that the BeanEditor and Grid components use, to match properties and their data types to components appropriate to view or edit such a property.

I tend toward the latter approach, though to accomplish some things (such as widely differing content types : RSS or PDF rather than text/ html) you may need to combine the approaches.



On Jan 5, 2008, at 1:44 AM, [EMAIL PROTECTED] wrote:

Hello,

First of all I would like to wish you an happy new year, full of success
for you and your family :)

My name is Martin, I work in a french web agencie as a lead developper and
architect, mainly on CMS applications.

I did want to bother you with a direct question, but I asked this several times on the Tapestry user mailing list, and no one was able to give me a
clear ( or satisfying ) answer.

We have a client that use an old CMS of ours, and he wants us to develop a new one for him. That is why I'm very interested in Tapestry 5. We started to develop different Application to test Tapestry and quite everythings is
ok.

But (there is always a but) there is something that I don't know how to do
with tapestry 5 : handeling different display methods for the same
content. On the mailing list everybody answer : use CSS. I'm sorry but
this is not good for us.

If I want a display method that just display a Title and a Date with a
Link to the page where the content is fully displayed... CSS does not
respond to that.

The way I see things is : I create a Bean that represent a Content (let
say a "Short Article" ), then I create a Component responsible for
displaying it and -in the Component or somewhere else- I should be able to tell the component -on the fly before rendering operation- to use this of that .tml file (all the .tml files would be present a the starting of the
App).

Well, that it... Is it possible to do that (or something that would do the
same ) using Tapestry ?

I hope that my question is clear and that I didn't bother you.

Thanks for the time you spent reading my email :)

Regards,

Martin Papy


Howard Lewis Ship
TWD Consulting, Inc.
Creator: Apache Tapestry and Apache HiveMind


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

Reply via email to