By reading the source code of cocoon-template-impl, I find it suports _javascript_ _expression_. So I can use _javascript_ to new java.util.Locale instance 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED]]
Verzonden: vrijdag 8 september 2006 10:33
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 < [EMAIL PROTECTED]> wrote:
 
 
Why don't you just do following ?
<fd:label>${country.toString(locale)}</fd:label>
 
Robby
 
-----Oorspronkelijk bericht-----
Van: Rice Yeh [mailto:[EMAIL PROTECTED]]
Verzonden: vrijdag 8 september 2006 8:48
Aan: [email protected]
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



Reply via email to