tomcat-taglibs-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fred <>
Subject i18n LocaleTag & FormatDateTimeTag: problem getting the right locale.
Date Tue, 21 Aug 2001 16:11:45 GMT


	I'm currently changing my date tag to use the i18n ones but there seem to be 
a problem in the LocaleTag class. If the locale is not given has a parameter 
the LocaleTag & FormatDateTimeTag use the LocaleTag.getLocale( pageContext ) 
method to retreive the correct locale. The problem is that this method check 
first the response locale. It's a good idea if we want to reply in another 
language but in the servlet API from Sun we can found that the 
response.getLocale() return the server locale by default. ("By default, the 
response locale is the default locale for the server." in setLocale() 
description at ) 
So this method ALWAYS return something not null ! I have the latest release 
(today 21/08/2001). Is this a misunderstand of the usage of the tag libray 
from myself, or a problem from my web server (Tomcat 3.2.3) or is this a 
mistake in the i18n tag library ?

Thanks in advance.

Copy of the getLocale() Method from LocaleTag :

    /** Extracts the {@link Locale} from the given {@link ServletRequest}
      * or returns the default JVM's {@link Locale} if it could not be found
    protected static Locale getLocale( PageContext pageContext ) {
        Locale answer = pageContext.getResponse().getLocale();
        if ( answer == null ) {
            ServletRequest request = pageContext.getRequest();
            answer = request.getLocale();
            if ( answer == null ) {
                for ( Enumeration enum = request.getLocales(); 
enum.hasMoreElements(); ) {
                    answer = (Locale) enum.nextElement();
                    if ( answer != null ) {
                if ( answer == null ) {
                    // XXXX: may wish to log warning?
                    answer = Locale.getDefault();
        return answer;

View raw message