cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rice Yeh" <rice...@gmail.com>
Subject Re: Is it supported to passing parameters to a method in an jexl expression in CTemplate?
Date Fri, 08 Sep 2006 18:41:12 GMT
By reading the source code of cocoon-template-impl, I find it suports
javascript expression. So I can use javascript to new
java.util.Localeinstance as the following:

<?xml version="1.0"?>
<fd:selection-list xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
                   xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
  <jx:set var="locale"
                  value="@{new
Packages.java.util.Locale(cocoon.get('parameters').get('language'),
cocoon.get('parameters').get('country'))}"/>
  <jx:forEach var="country" items="${Packages.as.party.Country.countries
()}">
    <fd:item value="${country.iso3166Code}">
    <fd:label>${country.toString(locale)}</fd:label>
    </fd:item>
  </jx:forEach>
</fd:selection-list>

Rice

On 9/8/06, Rice Yeh <riceyeh@gmail.com> wrote:
>
> I have found the reason. It is because the locale type in toString(Locale
> locale) is java.util.Locale. But the locale passed by LocaleAction is
> java.lang.String. Is there any way to convert the locale string to an
> instnace of java.util.Locale in CTemplate? The following is my ctemplate,
> in which I tried to new an java.util.Locale but failed.
>
> <?xml version="1.0"?>
> <fd:selection-list xmlns:fd="http://apache.org/cocoon/forms/1.0#definition
> "
>                    xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
>   <jx:set var="locale" value="${new Packages.java.util.Locale(
> cocoon.paramters.locale)}"/>
>   <jx:forEach var="country" items="${Packages.as.party.Country.countries
> ()}">
>     <fd:item value="${country.iso3166Code }">
>
>     <fd:label>${country.toString(locale)}</fd:label>
>     </fd:item>
>   </jx:forEach>
> </fd:selection-list>
>
>
> Rice
>
>
>
> On 9/8/06, Robby Pelssers, AGP <robby.pelssers@agp.nl> wrote:
> >
> >  Do you have locale available within the jx??  Otherwise you should try
> > a print statement in your javascript file. If this returns nothing, that
> > explains a lot.
> >
> > print('Locale=' + Locale.getDefault().getLanguage());
> >
> > Robby
> >
> > -----Oorspronkelijk bericht-----
> > *Van:* Rice Yeh [mailto:riceyeh@gmail.com]
> > *Verzonden:* vrijdag 8 september 2006 10:33
> >
> > *Aan:* dev@cocoon.apache.org
> > *Onderwerp:* Re: Is it supported to passing parameters to a method in an
> > jexl expression in CTemplate?
> >
> > I have tried it but toString(Locale locale) is just NOT invoked and a
> > null value is returned.
> >
> > Rice
> >
> > On 9/8/06, Robby Pelssers, AGP < robby.pelssers@agp.nl> wrote:
> > >
> > >
> > >
> > > Why don't you just do following ?
> > >  <fd:label>${country.toString(locale)}</fd:label>
> > >
> > >  Robby
> > >
> > >
> > > -----Oorspronkelijk bericht-----
> > > *Van:* Rice Yeh [mailto:riceyeh@gmail.com]
> > > *Verzonden:* vrijdag 8 september 2006 8:48
> > > *Aan:* dev@cocoon.apache.org
> > > *Onderwerp:* Is it supported to passing parameters to a method in an
> > > jexl expression in CTemplate?
> > >
> > > Hi,
> > >   Is it supported to passing parameters to a method in an jexl
> > > expression in CTemplate. I try the following expression, it is not
> > > supported.
> > > Is there other way?
> > >
> > > <fd:label>${country.toString(${locale})}</fd:label>
> > >
> > >
> > > Regards,
> > > Rice
> > >
> >
> >
>

Mime
View raw message