If what you are trying to do is read the resources file, you can use this
class


package net.bac.com.cbk.common.util;

import java.io.InputStream;
import java.util.Enumeration;
import java.util.Locale;
import java.util.Properties;
import java.util.ResourceBundle;

/** @modelguid {ABE1E037-8252-4018-A711-8DD57641A3A0} */
public abstract class PropertyLoader
{
   /**
    * Looks up a resource named 'name' in the classpath. The resource must
map
    * to a file with .properties extention. The name is assumed to be
absolute
    * and can use either "/" or "." for package segment separation with an
    * optional leading "/" and optional ".properties" suffix. Thus, the
    * following names refer to the same resource:
    * <pre>
    * some.pkg.Resource
    * some.pkg.Resource.properties
    * some/pkg/Resource
    * some/pkg/Resource.properties
    * /some/pkg/Resource
    * /some/pkg/Resource.properties
    * </pre>
    *
    * @param name classpath resource name [may not be null]
    * @param loader classloader through which to load the resource [null
    * is equivalent to the application loader]
    *
    * @return resource converted to java.util.Properties [may be null if
the
    * resource was not found and THROW_ON_LOAD_FAILURE is false]
    * @throws IllegalArgumentException if the resource was not found and
    * THROW_ON_LOAD_FAILURE is true
    * @modelguid {1156E969-3D21-490F-A08D-D9F7524E3A91}
    */
   public static Properties loadProperties (String name, ClassLoader
loader)
   {
       if (name == null)
           throw new IllegalArgumentException ("null input: name");

       if (name.startsWith ("/"))
           name = name.substring (1);

       if (name.endsWith (SUFFIX))
           name = name.substring (0, name.length () - SUFFIX.length ());

       Properties result = null;

       InputStream in = null;
       try
       {
           if (loader == null) loader = ClassLoader.getSystemClassLoader();

           if (LOAD_AS_RESOURCE_BUNDLE)
           {
               name = name.replace ('/', '.');
               // Throws MissingResourceException on lookup failures:
               final ResourceBundle rb = ResourceBundle.getBundle (name,
                   Locale.getDefault (), loader);

               result = new Properties ();
               for (Enumeration keys = rb.getKeys (); keys.hasMoreElements();)
               {
                   final String key = (String) keys.nextElement ();
                   final String value = rb.getString (key);

                   result.put (key, value);
               }
           }
           else
           {
               name = name.replace ('.', '/');

               if (! name.endsWith (SUFFIX)) {
                   name = name.concat (SUFFIX);
               }

               // Returns null on lookup failures:
               in = loader.getResourceAsStream (name);
               if (in != null)
               {
                   result = new Properties ();
                   result.load (in); // Can throw IOException
               }
           }
       }
       catch (Exception e)
       {
           result = null;
       }
       finally
       {
           if (in != null) try { in.close (); } catch (Throwable ignore) {}
       }

       if (THROW_ON_LOAD_FAILURE && (result == null))
       {
           throw new IllegalArgumentException ("could not load [" + name +
"]"+
               " as " + (LOAD_AS_RESOURCE_BUNDLE
               ? "a resource bundle"
               : "a classloader resource"));
       }

       return result;
   }

   /**
    * A convenience overload of [EMAIL PROTECTED] #loadProperties(String,
ClassLoader)}
    * that uses the current thread's context classloader.
    * @modelguid {B449C763-826B-4D7E-AC76-5E5CE9DF2C5D}
    */
   public static Properties loadProperties (final String name)
   {
       return loadProperties (name,
           Thread.currentThread ().getContextClassLoader ());
   }

   /** @modelguid {8C0F147E-6C55-4051-A646-E5772906A475} */
   private static final boolean THROW_ON_LOAD_FAILURE = true;
   /** @modelguid {D57C850C-12BB-4B4A-98F5-84BBDC3F4069} */
   private static final boolean LOAD_AS_RESOURCE_BUNDLE = false;
   /** @modelguid {D238B664-59AF-4954-A4A9-B0729280FA50} */
   private static final String SUFFIX = ".properties";
} // End of class

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Hope this helps
Navas

On 5/3/07, Vikram Reddy <[EMAIL PROTECTED]> wrote:

Sure, I am making my application I18n complinat, reading all the labels
from
the resources, I am using I18n tag libary from jakartha,

I am replacing all of my labels with i18n tag like <i18n:message key="
label.name">, <i18n:message key="label.age"> etc, it is working fine.

But I have some labels which are hardcoded in the Backend (Java file) and
and they are displayed on the UI I am struck how to use this tag in the
back
end java class.

I read the documennation, nothing was mentioned about this. let me know if
you have any questions.

V





On 5/3/07, Rashmi Rubdi <[EMAIL PROTECTED]> wrote:
>
> On 5/3/07, Vikram Reddy <[EMAIL PROTECTED]> wrote:
> > Did any one use I18N Tag Library from Apache,  I have a question on
> that.
> >
> > I have some of the labels hardcoded in the java bean whcih are
displayed
> on
> > the UI, not sure how I can convert them, Can any one throw some light
on
>
> The description  of the problem is a little vague, it would help to
> know adequate relevant details.
>
> The documentation on the taglibs and examples in i18n-examples.war
> might have some solutions
>
> > this please.. I would really appreciate that.
> > in my jsp page, I am simply using this tag : <i18n:message key="
> label.name"
> > /> ..
> >
> > - V
> >
>
> -Regards
> Rashmi
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to