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]