This idea seems really promising, but I have been unable to implement it.  Here 
is what I have tried:


resource_en.properties
record.detail.title=Record Detail:{0}
 
tiles.xml
<definition name="foo" extends=".template">     <put
name="titleKey" value="record.detail.title"
type="string"/>    <put
name="titleKeyParam1" value="recordId"
type="string"/></definition>

jsp template page
<c:set var="titleNameKey"><tiles:getAsString name="titleKey"/></c:set><c:set 
var="titleNameKeyParam1"><tiles:getAsString 
name="titleKeyParameter1"/></c:set><fmt:message key="${titleNameKey}">    
<fmt:param><c:out value="${titleNameKeyParam1}"/></fmt:param></fmt:message>


My controller passes to the jsp view a parameter called "recordId".  I know 
that is working because I can use the value elsewhere.

The problem is that my title displays as: "Record Detail: recordId" instead of 
showing me the value of ${recordId}
(I expected something like "Record Detail: 12345")

I've tried a few variations on this without success :-(   How can I get the 
title to show the value of the expression i set in my tiles definition?




> Date: Thu, 20 Dec 2007 15:01:20 -0500
> From: [EMAIL PROTECTED]
> To: user@struts.apache.org
> Subject: Re: i18n and variable tiles definitions
> 
> you can do the same thing passing the strings keys in the tiles, then 
> play with the jsp pages using JSTL <fmt tag..>
> 
> <tiles:importAttribute name="titleKeyParameter1" />
> 
> <fmt:message var="parameter1Value" value="${titleKeyParameter1}"/>
> 
> <fmt:message key="foo">
>    <fmt:param><c:out value="${parameter1Value}"/></fmt:param>
>    ... //repeat process....
> </fmt:message>
> 
> I'm pretty sure you should be able to also put <fmt> tags within <fmt> 
> tags (nested), but I've never tried it.
> 
> 
> 
> Peter Rumstle wrote:
> > Thats an excellent solution for the i18n part.  I will change my code to 
> > use this method.   
> > 
> > I still don't know what the best way to add variables to the title tho.  I 
> > know i can have variable placeholders in my resource file ex.
> > 
> > resource_en.properties
> > record.detail.title=Record Detail:{0}
> > user.detail.title=User Detail:{0}
> > application.title=Hello World Application
> > 
> > tiles.xml
> > <definition name="foo" extends=".template">    <put name="titleKey" 
> > value="record.detail.title" type="string"/></definition>
> > 
> > jsp template page
> > // Somehow i need to pass in optional variables that are provided by my 
> > controller to the title
> > <fmt:message key="${titleNameKey}"/>
> > 
> > 
> > Is this possible with tiles?
> > 
> > btw, sorry for posting to two mailing lists about this if thats bad form.
> > 
> > 
> > 
> > 
> >> Date: Thu, 20 Dec 2007 13:29:32 -0500
> >> From: [EMAIL PROTECTED]
> >> To: user@struts.apache.org
> >> Subject: Re: i18n and variable tiles definitions
> >>
> >> May I suggest to instead of using the "title" value in the tiles, use 
> >> the keys (e.g. "titleKey"), then fetched it using whatever approach you 
> >> want to:
> >>
> >> Example:
> >>
> >> resource_en.properties
> >>
> >> application.title=Hello World Application
> >>
> >>
> >> tiles.xml
> >>
> >> <definition name="foo" extends=".template">
> >>    <put name="titleKey" value="application.title" type="string"/>
> >> </definition>
> >>
> >> jsp page
> >>
> >> <c:set var="titleNameKey"><tiles:getAsString name="titleKey"/></c:set>
> >>
> >> <fmt:message key="${titleNameKey}"/>
> >>
> >> (of course this uses unnecessary code, but the above will work for sure)
> >>
> >> Hope this helps!
> >>
> >>
> >> Peter Rumstle wrote:
> >>> Hi everyone, 
> >>>
> >>> I am running into what appears to be a limitation in tiles.  I hope 
> >>> someone has encountered this problem before and knows of a workaround.  
> >>>
> >>> I have a tiles based layout that accepts a "title" in the tiles 
> >>> definition.
> >>>
> >>>     <definition name="recordDetail" extends=".template">
> >>>         <put name="title" value="Record Detail"/>
> >>>         <put name="body" value="/WEB-INF/jsp/tiles/recordDetail.jsp"/>
> >>>     </definition>
> >>>
> >>> My problem is that I need the title to be more dynamic.  It needs to do 
> >>> two things:
> >>>
> >>> 1. Support different titles depending on the locale.
> >>> 2. Accept a dynamic field identifying the record number that the page is 
> >>> showing.
> >>>
> >>> For example, rather than say "Record Detail" like in my example it should 
> >>> say "Record Detail: 38847829" and in other languages it should be 
> >>> translated using an existing ResourceBundle (ex. "Detalle De registro: 
> >>> 38847829").
> >>>
> >>> My problem lies in the fact that my .template tile includes the <title> 
> >>> tag, but does not know which page it is rendering.  Only the "body" tile 
> >>> and the actual tiles definition knows which page it is rendering for.  
> >>> Other pages use the same .template tile but require different dynamic 
> >>> fields in their title.
> >>>
> >>> Has anyone got something like this working before?
> >>>
> >>> Thanks!
> >>>
> >>> _________________________________________________________________
> >>> Introducing the City @ Live! Take a tour!
> >>> http://getyourliveid.ca/?icid=LIVEIDENCA006
> >> -- 
> >>
> >> Alberto A. Flores
> >> http://www.linkedin.com/in/aflores
> >>
> >>
> > 
> > _________________________________________________________________
> > Discover new ways to stay in touch with Windows Live! Visit the City @ Live 
> > today!
> > http://getyourliveid.ca/?icid=LIVEIDENCA006
> 
> -- 
> 
> Alberto A. Flores
> http://www.linkedin.com/in/aflores
> 
> 

_________________________________________________________________
Introducing the City @ Live! Take a tour!
http://getyourliveid.ca/?icid=LIVEIDENCA006

Reply via email to