struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Pratt <thechrispr...@gmail.com>
Subject Re: s:if and locale
Date Tue, 10 Sep 2013 18:08:57 GMT
locale.language is just the language, so it will never match the Language
plus the Country.  If you need to test both you could do:

<s:if test="%{(locale.language == 'en') && (locale.country == 'US')}">

You might even be able to get away with:

<s:if test = %{(locale.language + '_' + locale.country) == 'en_US'}">

But I haven't tested it to be sure.
  (*Chris*)


On Tue, Sep 10, 2013 at 12:39 AM, Alireza Fattahi <afattahi@yahoo.com>wrote:

> Thanks for your solution .
> The
> <s:if test="%{locale.language == 'en_US'}">
> did not work! I don't know why !
>
> But I used your solution which seems much better tahn mine !
>
> ~Regards,
> ~~Alireza Fattahi
>
>
> ________________________________
>  From: Chris <christalkto@yahoo.fr>
> To: Struts Users Mailing List <user@struts.apache.org>; Alireza Fattahi <
> afattahi@yahoo.com>; Chris <christalkto@yahoo.fr>
> Sent: Monday, 9 September 2013, 7:49
> Subject: Re: s:if and locale
>
>
> Hello ,
> Could you please write how do you define
>
> The locale is = ${locale}  //Here the correct locale is displayed!
> I see in my browser  ( even source code )
>
> The locale is =   //Here the correct locale is displayed!
>
>
> ________________________________
> Please try this expresion and tell us if it works
> <s:if test="%{locale.language == 'en_US'}">
>
> You will have to test your "locale" it in every jsp ?
> Couldn't you use for example, a global.properties file and struts.xml
> <constant name="struts.custom.i18n.resources" value="global" />
>
> in the file global.properties :cssfile=englshstyle.css
> in the file global_es.properties :cssfile=spanishstyle.css
> in yourjsp : <link href='<s:text name="cssfile" />' rel="stylesheet"
> type="text/css" />
> It works with sample
> http://struts.apache.org/development/2.x/docs/message-resource-files.html
> but the links are with parameter like .... action?request_locale=en
> and you will need many properties file
>
>
>
> ________________________________
> HI,
>
> I have used the strtuts I18n feature for managing the localization.  The
> site works fine and the messages are selected from correct resource bundels.
>
> I have this problem....
>
> I want to change css base on the user locale.
> So I use below code in jsp:
> **************************
> The locale is = ${locale}  //Here the correct locale is displayed!
> <s:if test="%{locale == 'en_US'}"> //This condition is always false
>      <link href="site-en.css" rel="stylesheet" type="text/css" />
> </s:if>
> <s:else>
>    <link href="site-other.css" rel="stylesheet" type="text/css" />
> </s:else>
> **************************
>
> No matter what the locale value is, always the else condition is triggered
> !!
> The jsp out puts
> **************
> The locale is=en_US
>    <link href="site-other.css" rel="stylesheet" type="text/css" />
> **********
>
>
> When I see the Struts ValueStack with <s:debug/> the locale value is
> correct and is what it has too.
>
> Is there any thing wrong with my test conditin please help!
>
> ~Regards,
> ~~Alireza Fattahi
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message