btw, I've also tried this slight variation:

tiles.xml
<definition name="foo" extends=".template">         <put> name="titleKey" 
value="record.detail.title" type="string"/>        <put> name="titleKeyParam1" 
value="${recordId}" type="string"/></definition>

Which gives me the page title:  "Record Detail: ${recordId}".  Also giving me 
the problem that it is not evaluating the expression.



> From: [EMAIL PROTECTED]
> To: user@struts.apache.org
> Subject: RE: i18n and variable tiles definitions
> Date: Thu, 20 Dec 2007 13:41:13 -0800
> 
> 
> 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

_________________________________________________________________
Use fowl language with Chicktionary. Click here to start playing!
http://puzzles.sympatico.msn.ca/chicktionary/index.html?icid=htmlsig

Reply via email to