Rick, this is probably not the cleanest solution but it works for me.

tiles-def.xml:
<tiles-definitions>
    <definition name=".base" path="/templates/layout.jsp" >
        <put name="header" value="/templates/header.jsp"/>
        <put name="menu" value="/templates/menu.jsp"/>
        <put name="footer" value="/templates/footer.jsp"/>
    </definition>
    <definition name=".welcome" extends=".base" >
          <put name="title" value="title.welcome" />
          <put name="content" value="/WEB-INF/form/welcome.jsp"/>
    </definition>
     <definition name=".login" extends=".base" >
          <put name="title" value="title.loginpage" />
          <put name="content" value="/WEB-INF/form/login.jsp"/>
    </definition>
</tiles-definitions>

layout.jsp:
        <head>
                        <link rel=stylesheet type="text/css" 
             href="<%=request.getContextPath()%>/templates/layout.css"/>
                <tiles:useAttribute id="title" name="title" />
                <title>
                        <bean:message key="${title}" scope="page"/>
                </title>
                <tiles:get name="header" /><!-- I only use header.jsp to
add meta tags -->
                
        </head>
        <body>
                <center>
                        <h1>
                        <bean:message key="${title}.header"
scope="page"/>
                        </h1>
                </center>
        </body>

ApplicationResources.properties:
title.loginpage= System LOGIN PAGE
title.loginpage.header=LOGIN PAGE


Hopefully this help.

Shed.



-----Original Message-----
From: Rick Reumann [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 25, 2005 12:27
To: Struts Users Mailing List
Subject: Been a while sinced used Tiles... can someone help?


Ok, the recent Tiles questions posts I had were in relation to how I can

create dynamic titles/labels. For example I might have a layout 
definition that has a header.jsp and in that header I need provide a 
label for the user to view that could look like...

"Welcome John Doe, we love your company Acme Incorporated"

What I want to be able to do is set up in header.jsp a way to use the 
label that comes from the tiles definition, but also then can use the 
custom stuff I set up in the Action such as "John Doe" and "Acme Inc." 
What I was planning on doing is setting up generic vars to represent 
what could be substituted such as labelVarA = "JohnDoe", labelVarB = 
"Acme Incorporated" then I'd stuff them into Request scope as labelVarA,

and labelVarB.

greeting.message=Welcome {0}, we love your company {1}

Then if I have in my definition:

<tiles:insert page="mainLayout.jsp">
    <tiles:put name="myLabel" value="greeting.message"/>
    <tiles:put name="header" value="header.jsp"/>
    ...
</tiles:insert>

Can I just do in my header.jsp?:

<fmt:message key="${myLabel}">
        <fmt:param value='${labelVarA}'/>
        <fmt:param value='${labelVarB}'/>
        <fmt:param value='${labelVarC}'/>
        <fmt:param value='${labelVarD}'/>
</fmt:message>

Overall, I'm having a difficult time grasping how you can create dynamic

labels/titles. For example a main layout might look like...

<html>
    <head><title>
        ???tiles insert so that this title might be partially dynamic
        so I can't just use <tiles:getAsString name="title"/>
    </title></head>
    <body>

    *** this header needs the dynamic capabilities as described above
***
    <tiles:insert attribute="header.jsp"/>

    <tiles:insert attribute="someBlock.jsp"/>
    <tiles:insert attribute="someOtherBlock.jsp"/>

    <tiles:insert attribute="content.jsp"/>

    <tiles:insert attribute="footer.jsp"/>

    </body>
</html>

I don't want to hard code the label/titles in my Action class (except 
for the relevant params needed.. ie in example above user name, comp 
name). I have to problem creating extra tiles definitions with label 
definitions but I'm not sure how to set the defintions up so that they 
can handle dynamic parameters?

thanks

-- 
Rick

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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to