Martin,

Have you looked at any of these?

a) Tiles
        http://struts.apache.org
b) SiteMesh:
        http://www.opensymphony.com/sitemesh
c) XKins:
        http://xkins.sourceforge.net/

Regards,
David

-----Original Message-----
From: Martin Ravell [mailto:[EMAIL PROTECTED]
Sent: Monday, June 13, 2005 8:22 PM
To: Struts User Mailing List
Subject: Themes

I have a requirement to build a 'Themes' (think 'skins') capability into the
UI of my Struts app and would just like to poll the list for ideas on the
best way to approach such a mechanism. Multiple customers use the same app
but they need to be presented with a view that meets their specific
requirements. For example graphics, fonts and even layout would be specific
to the user's login (actually their company/organization which is stored in
the database).

Now, for ease of use I guess something relying on CSS would be a way to go.
Since I already use stylesheets for most HTML elements specifying a
particular theme's stylesheet would not be hard.

The tricky part is that I'd also like to be able to specify different jsp
pages (mainly for Tiles layouts) in case I need to modify the layout beyond
what is easy to do with CSS. Ultimately I may well have functionality in the
app itself that is specific to a given customer so this concept should deal
with handling customisation to that level well.

Ideally I'd like to have a concept of an 'alternate source' directory that
is used by the app to load it's jsp. i.e. the app first looks under the
appropriate alternate directory for a jsp and uses the page it finds there
if it exists but falls back to the standard jsp dir if there is no
alternate. This would mean that I could create a theme with only those pages
that need to be modified rather than copying and modifying the entire jsp
source tree.

If anyone has had to implement something along these lines I'd love to hear
from you. What sort of mechanisms have you found work well within the
structure of a Struts app? My architecture is Struts, Tiles, Spring and
Hibernate if you are interested but I'm thinking that it's the Struts area
that I'll be looking at mostly for this job.

Are there any Struts sub-projects that touch on this sort of thing?


Regards

Marty



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

Reply via email to