You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Alan Pocklington <aj...@pocko.freeserve.co.uk> on 2004/10/13 17:24:27 UTC

How to read MessageResources.

Hi,

I want my action to read a property from the MessageResources.properties 
file in the same way that ActionMessages does.  What's the simplest code I 
can use to retreive a particular property's value?

Thanks in advance,



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Justy <ee...@gmail.com>.
getLocale(::HttpServletRequest) will get locale from session instead of request.


On Wed, 13 Oct 2004 15:54:02 +0000 (UTC), Alan Pocklington
<aj...@pocko.freeserve.co.uk> wrote:
> Cheers for pointing that out.  As of yet I don't need message arguments
> so that'll be fine.
> 
> Was there any reason for having a getLocale(request) method? I'm guessing
> the implementation was different from just request.getLocale().
> 
> 
> Hubert Rabago <hr...@gmail.com> wrote in
> news:7b809eef041013084978b095ae@mail.gmail.com:
> 
> 
> 
> > On Wed, 13 Oct 2004 10:38:09 -0500, Hubert Rabago <hr...@gmail.com>
> > wrote:
> >> Yup, copy/paste from existing code works fast.  :)
> >
> > It's also not foolproof.  This excerpt was specific to the needs of
> > the class I took it from.  Check the getMessage() method -- it can
> > actually accept message arguments, but the evaluateMessage() doesn't
> > use them.  If you do need them, just modify evaluateMessage() to also
> > accept an argument parameter.
> > Sorry about that.
> >
> >>
> >> On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
> >> <aj...@pocko.freeserve.co.uk> wrote:
> >> > Wow, thanks for the quick reply. Will do!
> >>
> >>
> >> >
> >> > Hubert Rabago <hr...@gmail.com> wrote in
> >> > news:7b809eef041013082969eb9303@mail.gmail.com:
> >> >
> >> >
> >> >
> >> > > Put this in a util class and call evaluateMessage():
> >> > >
> >> > >     /**
> >> > >      * <p>Evaluate the given message resource key.</p>
> >> > >      *
> >> > >      * @param messageKey the name of the resource entry to
> >> > >      retrieve * @param bundle The key specified in the
> >> > >      *  <code>&lt;message-resources&gt;</code> element for the
> >> > >      *  resource bundle to use
> >> > >      * @param request the request being processed
> >> > >      * @param servletContext the current {@link ServletContext}
> >> > >      * @return the value of paramName from the message resources
> >> > >      */
> >> > >     public String evaluateMessage(
> >> > >             String messageKey,
> >> > >             String bundle,
> >> > >             HttpServletRequest request,
> >> > >             ServletContext servletContext) {
> >> > >         // get the message resources
> >> > >         MessageResources resources;
> >> > >         if (bundle != null) {
> >> > >             resources = getResources(bundle, request,
> >> > >             servletContext);
> >> > >         } else {
> >> > >             resources = getResources(request);
> >> > >         }
> >> > >         // evaluate the message
> >> > >         String messageString = getMessage(messageKey, null,
> >> > >         request,
> >> > >                 resources);
> >> > >
> >> > >         // add it to the redirect parameters
> >> > >         if ((messageString != null) && (messageString.length() >
> >> > >         0)) {
> >> > >             return messageString;
> >> > >         }
> >> > >         return null;
> >> > >     }
> >> > >
> >> > >
> >> > >     /**
> >> > >      * <p>Look for the ActionMessage in the provided
> >> > >      MessageResources.</p> *
> >> > >      * @param messageKey the key to look for
> >> > >      * @param args the arguments to be used in evaluating the
> >> > >      message * @param request the request being processed
> >> > >      * @param resources the application's message resources
> >> > >      * @return the message formed from the given ActionMessage
> >> > >      */
> >> > >     protected String getMessage(String messageKey,
> >> > >                                 Object[] args,
> >> > >                                 HttpServletRequest request,
> >> > >                                 MessageResources resources) {
> >> > >         if (messageKey == null) {
> >> > >             //log.warn("Call to getMessage() with a null
> >> > >             messageKey."); return null;
> >> > >         }
> >> > >
> >> > >         String result = null;
> >> > >         try {
> >> > >             // first, get the locale from the request
> >> > >             Locale userLocale = getLocale(request);
> >> > >
> >> > >             // then, get the message
> >> > >             if (args == null) {
> >> > >                 result = (resources.getMessage(userLocale,
> >> > >                 messageKey));
> >> > >             } else {
> >> > >                 result = (resources.getMessage(userLocale,
> >> > >                 messageKey,
> >> > >                         args));
> >> > >             }
> >> > >         } catch (Exception e) {
> >> > >             //log.error("Exception while looking for message.",
> >> > >             e);
> >> > >         }
> >> > >         return result;
> >> > >     }
> >> > >
> >> > >     /**
> >> > >      * <p>Return the default message resources for the current
> >> > >      module.</p> *
> >> > >      * @param request The servlet request we are processing
> >> > >      */
> >> > >     protected MessageResources getResources(HttpServletRequest
> >> > >     request) {
> >> > >
> >> > >         return ((MessageResources)
> >> > >                 request.getAttribute(Globals.MESSAGES_KEY));
> >> > >
> >> > >     }
> >> > >
> >> > >     /**
> >> > >      * <p>Return the specified message resources for the current
> >> > >      module.</p> *
> >> > >      * @param bundle The key specified in the
> >> > >      *  <code>&lt;message-resources&gt;</code> element for the
> >> > >      *  requested bundle
> >> > >      * @param request The servlet request we are processing
> >> > >      * @param servletContext the current {@link ServletContext}
> >> > >      */
> >> > >     protected MessageResources getResources(String bundle,
> >> > >                                             HttpServletRequest
> >> > >                               request,
> >> > >                                             ServletContext
> >> > >                               servletContext) {
> >> > >
> >> > >         // Identify the current module
> >> > >         ModuleConfig moduleConfig =
> >> > >                 ModuleUtils.getInstance().getModuleConfig(
> >> > >                         request, servletContext);
> >> > >
> >> > >         // Return the requested message resources instance
> >> > >         return ((MessageResources) servletContext.getAttribute
> >> > >                 (bundle + moduleConfig.getPrefix()));
> >> > >
> >> > >     }
> >> > >
> >> > >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Alan Pocklington <aj...@pocko.freeserve.co.uk>.
Bill, 

Thanks for the pointer.  I have already downloaded the source and have 
extended Struts successfully many times.  The MessageResources thing was 
something I couldn't quite get my head around, so I figured I'd ask the 
experts.  Now I have the code, it didn't seem so complicated after all.

Cheers,

Alan.

Bill Siggelkow <bi...@bellsouth.net> wrote in news:ckjkjn$nqs$1
@sea.gmane.org:

> Alan  -- I strongly encourage you (if you haven't already) to download 
> the Struts source and use it as you develop.  You will be amazed at how 
> much quicker you can grok Struts.
> 
> -Bill Siggelkow
> 
> Alan Pocklington wrote:
> 
>> Oh okay, I'll look into that.  Thanks for your help.
>> 
>> Hubert Rabago <hr...@gmail.com> wrote in
>> news:7b809eef0410130857655fc68@mail.gmail.com: 
>> 
>> 
>>>Struts has some special treatment for locales.  You'd wanna abide by
>>>that for consistency with what its internal engine uses for the
>>>resource files.
>>>
>>>
>>>On Wed, 13 Oct 2004 15:54:02 +0000 (UTC), Alan Pocklington
>>><aj...@pocko.freeserve.co.uk> wrote:
>>>
>>>>Cheers for pointing that out.  As of yet I don't need message
>>>>arguments so that'll be fine.
>>>>
>>>>Was there any reason for having a getLocale(request) method? I'm
>>>>guessing the implementation was different from just
>>>>request.getLocale(). 
>>>>
>>>>
>>>>Hubert Rabago <hr...@gmail.com> wrote in
>>>>news:7b809eef041013084978b095ae@mail.gmail.com:
>>>>
>>>>
>>>>
>>>>
>>>>>On Wed, 13 Oct 2004 10:38:09 -0500, Hubert Rabago
>>>>><hr...@gmail.com> wrote:
>>>>>
>>>>>>Yup, copy/paste from existing code works fast.  :)
>>>>>
>>>>>It's also not foolproof.  This excerpt was specific to the needs of
>>>>>the class I took it from.  Check the getMessage() method -- it can
>>>>>actually accept message arguments, but the evaluateMessage()
>>>>>doesn't use them.  If you do need them, just modify
>>>>>evaluateMessage() to also accept an argument parameter.
>>>>>Sorry about that.
>>>>>
>>>>>
>>>>>>On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
>>>>>><aj...@pocko.freeserve.co.uk> wrote:
>>>>>>
>>>>>>>Wow, thanks for the quick reply. Will do!
>>>>>>
>>>>>>
>>>>>>>Hubert Rabago <hr...@gmail.com> wrote in
>>>>>>>news:7b809eef041013082969eb9303@mail.gmail.com:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>Put this in a util class and call evaluateMessage():
>>>>>>>>
>>>>>>>>    /**
>>>>>>>>     * <p>Evaluate the given message resource key.</p>
>>>>>>>>     *
>>>>>>>>     * @param messageKey the name of the resource entry to
>>>>>>>>     retrieve * @param bundle The key specified in the
>>>>>>>>     *  <code>&lt;message-resources&gt;</code> element for the
>>>>>>>>     *  resource bundle to use
>>>>>>>>     * @param request the request being processed
>>>>>>>>     * @param servletContext the current {@link
>>>>>>>>     ServletContext} * @return the value of paramName from the
>>>>>>>>     message resources */
>>>>>>>>    public String evaluateMessage(
>>>>>>>>            String messageKey,
>>>>>>>>            String bundle,
>>>>>>>>            HttpServletRequest request,
>>>>>>>>            ServletContext servletContext) {
>>>>>>>>        // get the message resources
>>>>>>>>        MessageResources resources;
>>>>>>>>        if (bundle != null) {
>>>>>>>>            resources = getResources(bundle, request,
>>>>>>>>            servletContext);
>>>>>>>>        } else {
>>>>>>>>            resources = getResources(request);
>>>>>>>>        }
>>>>>>>>        // evaluate the message
>>>>>>>>        String messageString = getMessage(messageKey, null,
>>>>>>>>        request,
>>>>>>>>                resources);
>>>>>>>>
>>>>>>>>        // add it to the redirect parameters
>>>>>>>>        if ((messageString != null) && (messageString.length()
>>>>>>>>        > 0)) {
>>>>>>>>            return messageString;
>>>>>>>>        }
>>>>>>>>        return null;
>>>>>>>>    }
>>>>>>>>
>>>>>>>>
>>>>>>>>    /**
>>>>>>>>     * <p>Look for the ActionMessage in the provided
>>>>>>>>     MessageResources.</p> *
>>>>>>>>     * @param messageKey the key to look for
>>>>>>>>     * @param args the arguments to be used in evaluating the
>>>>>>>>     message * @param request the request being processed
>>>>>>>>     * @param resources the application's message resources
>>>>>>>>     * @return the message formed from the given ActionMessage
>>>>>>>>     */
>>>>>>>>    protected String getMessage(String messageKey,
>>>>>>>>                                Object[] args,
>>>>>>>>                                HttpServletRequest request,
>>>>>>>>                                MessageResources resources) {
>>>>>>>>        if (messageKey == null) {
>>>>>>>>            //log.warn("Call to getMessage() with a null
>>>>>>>>            messageKey."); return null;
>>>>>>>>        }
>>>>>>>>
>>>>>>>>        String result = null;
>>>>>>>>        try {
>>>>>>>>            // first, get the locale from the request
>>>>>>>>            Locale userLocale = getLocale(request);
>>>>>>>>
>>>>>>>>            // then, get the message
>>>>>>>>            if (args == null) {
>>>>>>>>                result = (resources.getMessage(userLocale,
>>>>>>>>                messageKey));
>>>>>>>>            } else {
>>>>>>>>                result = (resources.getMessage(userLocale,
>>>>>>>>                messageKey,
>>>>>>>>                        args));
>>>>>>>>            }
>>>>>>>>        } catch (Exception e) {
>>>>>>>>            //log.error("Exception while looking for
>>>>>>>>            message.", e);
>>>>>>>>        }
>>>>>>>>        return result;
>>>>>>>>    }
>>>>>>>>
>>>>>>>>    /**
>>>>>>>>     * <p>Return the default message resources for the current
>>>>>>>>     module.</p> *
>>>>>>>>     * @param request The servlet request we are processing
>>>>>>>>     */
>>>>>>>>    protected MessageResources getResources(HttpServletRequest
>>>>>>>>    request) {
>>>>>>>>
>>>>>>>>        return ((MessageResources)
>>>>>>>>                request.getAttribute(Globals.MESSAGES_KEY));
>>>>>>>>
>>>>>>>>    }
>>>>>>>>
>>>>>>>>    /**
>>>>>>>>     * <p>Return the specified message resources for the
>>>>>>>>     current module.</p> *
>>>>>>>>     * @param bundle The key specified in the
>>>>>>>>     *  <code>&lt;message-resources&gt;</code> element for the
>>>>>>>>     *  requested bundle
>>>>>>>>     * @param request The servlet request we are processing
>>>>>>>>     * @param servletContext the current {@link
>>>>>>>>     ServletContext} */
>>>>>>>>    protected MessageResources getResources(String bundle,
>>>>>>>>                                            HttpServletRequest
>>>>>>>>                              request,
>>>>>>>>                                            ServletContext
>>>>>>>>                              servletContext) {
>>>>>>>>
>>>>>>>>        // Identify the current module
>>>>>>>>        ModuleConfig moduleConfig =
>>>>>>>>                ModuleUtils.getInstance().getModuleConfig(
>>>>>>>>                        request, servletContext);
>>>>>>>>
>>>>>>>>        // Return the requested message resources instance
>>>>>>>>        return ((MessageResources) servletContext.getAttribute
>>>>>>>>                (bundle + moduleConfig.getPrefix()));
>>>>>>>>
>>>>>>>>    }
>>>>>>>>
>>>>>>>>
>>>>>
>>>>
>>>>---------------------------------------------------------------------
>>>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>For additional commands, e-mail: user-help@struts.apache.org
>>>>
>>>>
>>>



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Bill Siggelkow <bi...@bellsouth.net>.
Alan  -- I strongly encourage you (if you haven't already) to download 
the Struts source and use it as you develop.  You will be amazed at how 
much quicker you can grok Struts.

-Bill Siggelkow

Alan Pocklington wrote:

> Oh okay, I'll look into that.  Thanks for your help.
> 
> Hubert Rabago <hr...@gmail.com> wrote in
> news:7b809eef0410130857655fc68@mail.gmail.com: 
> 
> 
>>Struts has some special treatment for locales.  You'd wanna abide by
>>that for consistency with what its internal engine uses for the
>>resource files.
>>
>>
>>On Wed, 13 Oct 2004 15:54:02 +0000 (UTC), Alan Pocklington
>><aj...@pocko.freeserve.co.uk> wrote:
>>
>>>Cheers for pointing that out.  As of yet I don't need message
>>>arguments so that'll be fine.
>>>
>>>Was there any reason for having a getLocale(request) method? I'm
>>>guessing the implementation was different from just
>>>request.getLocale(). 
>>>
>>>
>>>Hubert Rabago <hr...@gmail.com> wrote in
>>>news:7b809eef041013084978b095ae@mail.gmail.com:
>>>
>>>
>>>
>>>
>>>>On Wed, 13 Oct 2004 10:38:09 -0500, Hubert Rabago
>>>><hr...@gmail.com> wrote:
>>>>
>>>>>Yup, copy/paste from existing code works fast.  :)
>>>>
>>>>It's also not foolproof.  This excerpt was specific to the needs of
>>>>the class I took it from.  Check the getMessage() method -- it can
>>>>actually accept message arguments, but the evaluateMessage()
>>>>doesn't use them.  If you do need them, just modify
>>>>evaluateMessage() to also accept an argument parameter.
>>>>Sorry about that.
>>>>
>>>>
>>>>>On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
>>>>><aj...@pocko.freeserve.co.uk> wrote:
>>>>>
>>>>>>Wow, thanks for the quick reply. Will do!
>>>>>
>>>>>
>>>>>>Hubert Rabago <hr...@gmail.com> wrote in
>>>>>>news:7b809eef041013082969eb9303@mail.gmail.com:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>Put this in a util class and call evaluateMessage():
>>>>>>>
>>>>>>>    /**
>>>>>>>     * <p>Evaluate the given message resource key.</p>
>>>>>>>     *
>>>>>>>     * @param messageKey the name of the resource entry to
>>>>>>>     retrieve * @param bundle The key specified in the
>>>>>>>     *  <code>&lt;message-resources&gt;</code> element for the
>>>>>>>     *  resource bundle to use
>>>>>>>     * @param request the request being processed
>>>>>>>     * @param servletContext the current {@link
>>>>>>>     ServletContext} * @return the value of paramName from the
>>>>>>>     message resources */
>>>>>>>    public String evaluateMessage(
>>>>>>>            String messageKey,
>>>>>>>            String bundle,
>>>>>>>            HttpServletRequest request,
>>>>>>>            ServletContext servletContext) {
>>>>>>>        // get the message resources
>>>>>>>        MessageResources resources;
>>>>>>>        if (bundle != null) {
>>>>>>>            resources = getResources(bundle, request,
>>>>>>>            servletContext);
>>>>>>>        } else {
>>>>>>>            resources = getResources(request);
>>>>>>>        }
>>>>>>>        // evaluate the message
>>>>>>>        String messageString = getMessage(messageKey, null,
>>>>>>>        request,
>>>>>>>                resources);
>>>>>>>
>>>>>>>        // add it to the redirect parameters
>>>>>>>        if ((messageString != null) && (messageString.length()
>>>>>>>        > 0)) {
>>>>>>>            return messageString;
>>>>>>>        }
>>>>>>>        return null;
>>>>>>>    }
>>>>>>>
>>>>>>>
>>>>>>>    /**
>>>>>>>     * <p>Look for the ActionMessage in the provided
>>>>>>>     MessageResources.</p> *
>>>>>>>     * @param messageKey the key to look for
>>>>>>>     * @param args the arguments to be used in evaluating the
>>>>>>>     message * @param request the request being processed
>>>>>>>     * @param resources the application's message resources
>>>>>>>     * @return the message formed from the given ActionMessage
>>>>>>>     */
>>>>>>>    protected String getMessage(String messageKey,
>>>>>>>                                Object[] args,
>>>>>>>                                HttpServletRequest request,
>>>>>>>                                MessageResources resources) {
>>>>>>>        if (messageKey == null) {
>>>>>>>            //log.warn("Call to getMessage() with a null
>>>>>>>            messageKey."); return null;
>>>>>>>        }
>>>>>>>
>>>>>>>        String result = null;
>>>>>>>        try {
>>>>>>>            // first, get the locale from the request
>>>>>>>            Locale userLocale = getLocale(request);
>>>>>>>
>>>>>>>            // then, get the message
>>>>>>>            if (args == null) {
>>>>>>>                result = (resources.getMessage(userLocale,
>>>>>>>                messageKey));
>>>>>>>            } else {
>>>>>>>                result = (resources.getMessage(userLocale,
>>>>>>>                messageKey,
>>>>>>>                        args));
>>>>>>>            }
>>>>>>>        } catch (Exception e) {
>>>>>>>            //log.error("Exception while looking for
>>>>>>>            message.", e);
>>>>>>>        }
>>>>>>>        return result;
>>>>>>>    }
>>>>>>>
>>>>>>>    /**
>>>>>>>     * <p>Return the default message resources for the current
>>>>>>>     module.</p> *
>>>>>>>     * @param request The servlet request we are processing
>>>>>>>     */
>>>>>>>    protected MessageResources getResources(HttpServletRequest
>>>>>>>    request) {
>>>>>>>
>>>>>>>        return ((MessageResources)
>>>>>>>                request.getAttribute(Globals.MESSAGES_KEY));
>>>>>>>
>>>>>>>    }
>>>>>>>
>>>>>>>    /**
>>>>>>>     * <p>Return the specified message resources for the
>>>>>>>     current module.</p> *
>>>>>>>     * @param bundle The key specified in the
>>>>>>>     *  <code>&lt;message-resources&gt;</code> element for the
>>>>>>>     *  requested bundle
>>>>>>>     * @param request The servlet request we are processing
>>>>>>>     * @param servletContext the current {@link
>>>>>>>     ServletContext} */
>>>>>>>    protected MessageResources getResources(String bundle,
>>>>>>>                                            HttpServletRequest
>>>>>>>                              request,
>>>>>>>                                            ServletContext
>>>>>>>                              servletContext) {
>>>>>>>
>>>>>>>        // Identify the current module
>>>>>>>        ModuleConfig moduleConfig =
>>>>>>>                ModuleUtils.getInstance().getModuleConfig(
>>>>>>>                        request, servletContext);
>>>>>>>
>>>>>>>        // Return the requested message resources instance
>>>>>>>        return ((MessageResources) servletContext.getAttribute
>>>>>>>                (bundle + moduleConfig.getPrefix()));
>>>>>>>
>>>>>>>    }
>>>>>>>
>>>>>>>
>>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>For additional commands, e-mail: user-help@struts.apache.org
>>>
>>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Alan Pocklington <aj...@pocko.freeserve.co.uk>.
Oh okay, I'll look into that.  Thanks for your help.

Hubert Rabago <hr...@gmail.com> wrote in
news:7b809eef0410130857655fc68@mail.gmail.com: 

> Struts has some special treatment for locales.  You'd wanna abide by
> that for consistency with what its internal engine uses for the
> resource files.
> 
> 
> On Wed, 13 Oct 2004 15:54:02 +0000 (UTC), Alan Pocklington
> <aj...@pocko.freeserve.co.uk> wrote:
>> Cheers for pointing that out.  As of yet I don't need message
>> arguments so that'll be fine.
>> 
>> Was there any reason for having a getLocale(request) method? I'm
>> guessing the implementation was different from just
>> request.getLocale(). 
>> 
>> 
>> Hubert Rabago <hr...@gmail.com> wrote in
>> news:7b809eef041013084978b095ae@mail.gmail.com:
>> 
>> 
>> 
>> > On Wed, 13 Oct 2004 10:38:09 -0500, Hubert Rabago
>> > <hr...@gmail.com> wrote:
>> >> Yup, copy/paste from existing code works fast.  :)
>> >
>> > It's also not foolproof.  This excerpt was specific to the needs of
>> > the class I took it from.  Check the getMessage() method -- it can
>> > actually accept message arguments, but the evaluateMessage()
>> > doesn't use them.  If you do need them, just modify
>> > evaluateMessage() to also accept an argument parameter.
>> > Sorry about that.
>> >
>> >>
>> >> On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
>> >> <aj...@pocko.freeserve.co.uk> wrote:
>> >> > Wow, thanks for the quick reply. Will do!
>> >>
>> >>
>> >> >
>> >> > Hubert Rabago <hr...@gmail.com> wrote in
>> >> > news:7b809eef041013082969eb9303@mail.gmail.com:
>> >> >
>> >> >
>> >> >
>> >> > > Put this in a util class and call evaluateMessage():
>> >> > >
>> >> > >     /**
>> >> > >      * <p>Evaluate the given message resource key.</p>
>> >> > >      *
>> >> > >      * @param messageKey the name of the resource entry to
>> >> > >      retrieve * @param bundle The key specified in the
>> >> > >      *  <code>&lt;message-resources&gt;</code> element for the
>> >> > >      *  resource bundle to use
>> >> > >      * @param request the request being processed
>> >> > >      * @param servletContext the current {@link
>> >> > >      ServletContext} * @return the value of paramName from the
>> >> > >      message resources */
>> >> > >     public String evaluateMessage(
>> >> > >             String messageKey,
>> >> > >             String bundle,
>> >> > >             HttpServletRequest request,
>> >> > >             ServletContext servletContext) {
>> >> > >         // get the message resources
>> >> > >         MessageResources resources;
>> >> > >         if (bundle != null) {
>> >> > >             resources = getResources(bundle, request,
>> >> > >             servletContext);
>> >> > >         } else {
>> >> > >             resources = getResources(request);
>> >> > >         }
>> >> > >         // evaluate the message
>> >> > >         String messageString = getMessage(messageKey, null,
>> >> > >         request,
>> >> > >                 resources);
>> >> > >
>> >> > >         // add it to the redirect parameters
>> >> > >         if ((messageString != null) && (messageString.length()
>> >> > >         > 0)) {
>> >> > >             return messageString;
>> >> > >         }
>> >> > >         return null;
>> >> > >     }
>> >> > >
>> >> > >
>> >> > >     /**
>> >> > >      * <p>Look for the ActionMessage in the provided
>> >> > >      MessageResources.</p> *
>> >> > >      * @param messageKey the key to look for
>> >> > >      * @param args the arguments to be used in evaluating the
>> >> > >      message * @param request the request being processed
>> >> > >      * @param resources the application's message resources
>> >> > >      * @return the message formed from the given ActionMessage
>> >> > >      */
>> >> > >     protected String getMessage(String messageKey,
>> >> > >                                 Object[] args,
>> >> > >                                 HttpServletRequest request,
>> >> > >                                 MessageResources resources) {
>> >> > >         if (messageKey == null) {
>> >> > >             //log.warn("Call to getMessage() with a null
>> >> > >             messageKey."); return null;
>> >> > >         }
>> >> > >
>> >> > >         String result = null;
>> >> > >         try {
>> >> > >             // first, get the locale from the request
>> >> > >             Locale userLocale = getLocale(request);
>> >> > >
>> >> > >             // then, get the message
>> >> > >             if (args == null) {
>> >> > >                 result = (resources.getMessage(userLocale,
>> >> > >                 messageKey));
>> >> > >             } else {
>> >> > >                 result = (resources.getMessage(userLocale,
>> >> > >                 messageKey,
>> >> > >                         args));
>> >> > >             }
>> >> > >         } catch (Exception e) {
>> >> > >             //log.error("Exception while looking for
>> >> > >             message.", e);
>> >> > >         }
>> >> > >         return result;
>> >> > >     }
>> >> > >
>> >> > >     /**
>> >> > >      * <p>Return the default message resources for the current
>> >> > >      module.</p> *
>> >> > >      * @param request The servlet request we are processing
>> >> > >      */
>> >> > >     protected MessageResources getResources(HttpServletRequest
>> >> > >     request) {
>> >> > >
>> >> > >         return ((MessageResources)
>> >> > >                 request.getAttribute(Globals.MESSAGES_KEY));
>> >> > >
>> >> > >     }
>> >> > >
>> >> > >     /**
>> >> > >      * <p>Return the specified message resources for the
>> >> > >      current module.</p> *
>> >> > >      * @param bundle The key specified in the
>> >> > >      *  <code>&lt;message-resources&gt;</code> element for the
>> >> > >      *  requested bundle
>> >> > >      * @param request The servlet request we are processing
>> >> > >      * @param servletContext the current {@link
>> >> > >      ServletContext} */
>> >> > >     protected MessageResources getResources(String bundle,
>> >> > >                                             HttpServletRequest
>> >> > >                               request,
>> >> > >                                             ServletContext
>> >> > >                               servletContext) {
>> >> > >
>> >> > >         // Identify the current module
>> >> > >         ModuleConfig moduleConfig =
>> >> > >                 ModuleUtils.getInstance().getModuleConfig(
>> >> > >                         request, servletContext);
>> >> > >
>> >> > >         // Return the requested message resources instance
>> >> > >         return ((MessageResources) servletContext.getAttribute
>> >> > >                 (bundle + moduleConfig.getPrefix()));
>> >> > >
>> >> > >     }
>> >> > >
>> >> > >
>> >
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>> 
>>
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Hubert Rabago <hr...@gmail.com>.
Struts has some special treatment for locales.  You'd wanna abide by
that for consistency with what its internal engine uses for the
resource files.


On Wed, 13 Oct 2004 15:54:02 +0000 (UTC), Alan Pocklington
<aj...@pocko.freeserve.co.uk> wrote:
> Cheers for pointing that out.  As of yet I don't need message arguments
> so that'll be fine.
> 
> Was there any reason for having a getLocale(request) method? I'm guessing
> the implementation was different from just request.getLocale().
> 
> 
> Hubert Rabago <hr...@gmail.com> wrote in
> news:7b809eef041013084978b095ae@mail.gmail.com:
> 
> 
> 
> > On Wed, 13 Oct 2004 10:38:09 -0500, Hubert Rabago <hr...@gmail.com>
> > wrote:
> >> Yup, copy/paste from existing code works fast.  :)
> >
> > It's also not foolproof.  This excerpt was specific to the needs of
> > the class I took it from.  Check the getMessage() method -- it can
> > actually accept message arguments, but the evaluateMessage() doesn't
> > use them.  If you do need them, just modify evaluateMessage() to also
> > accept an argument parameter.
> > Sorry about that.
> >
> >>
> >> On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
> >> <aj...@pocko.freeserve.co.uk> wrote:
> >> > Wow, thanks for the quick reply. Will do!
> >>
> >>
> >> >
> >> > Hubert Rabago <hr...@gmail.com> wrote in
> >> > news:7b809eef041013082969eb9303@mail.gmail.com:
> >> >
> >> >
> >> >
> >> > > Put this in a util class and call evaluateMessage():
> >> > >
> >> > >     /**
> >> > >      * <p>Evaluate the given message resource key.</p>
> >> > >      *
> >> > >      * @param messageKey the name of the resource entry to
> >> > >      retrieve * @param bundle The key specified in the
> >> > >      *  <code>&lt;message-resources&gt;</code> element for the
> >> > >      *  resource bundle to use
> >> > >      * @param request the request being processed
> >> > >      * @param servletContext the current {@link ServletContext}
> >> > >      * @return the value of paramName from the message resources
> >> > >      */
> >> > >     public String evaluateMessage(
> >> > >             String messageKey,
> >> > >             String bundle,
> >> > >             HttpServletRequest request,
> >> > >             ServletContext servletContext) {
> >> > >         // get the message resources
> >> > >         MessageResources resources;
> >> > >         if (bundle != null) {
> >> > >             resources = getResources(bundle, request,
> >> > >             servletContext);
> >> > >         } else {
> >> > >             resources = getResources(request);
> >> > >         }
> >> > >         // evaluate the message
> >> > >         String messageString = getMessage(messageKey, null,
> >> > >         request,
> >> > >                 resources);
> >> > >
> >> > >         // add it to the redirect parameters
> >> > >         if ((messageString != null) && (messageString.length() >
> >> > >         0)) {
> >> > >             return messageString;
> >> > >         }
> >> > >         return null;
> >> > >     }
> >> > >
> >> > >
> >> > >     /**
> >> > >      * <p>Look for the ActionMessage in the provided
> >> > >      MessageResources.</p> *
> >> > >      * @param messageKey the key to look for
> >> > >      * @param args the arguments to be used in evaluating the
> >> > >      message * @param request the request being processed
> >> > >      * @param resources the application's message resources
> >> > >      * @return the message formed from the given ActionMessage
> >> > >      */
> >> > >     protected String getMessage(String messageKey,
> >> > >                                 Object[] args,
> >> > >                                 HttpServletRequest request,
> >> > >                                 MessageResources resources) {
> >> > >         if (messageKey == null) {
> >> > >             //log.warn("Call to getMessage() with a null
> >> > >             messageKey."); return null;
> >> > >         }
> >> > >
> >> > >         String result = null;
> >> > >         try {
> >> > >             // first, get the locale from the request
> >> > >             Locale userLocale = getLocale(request);
> >> > >
> >> > >             // then, get the message
> >> > >             if (args == null) {
> >> > >                 result = (resources.getMessage(userLocale,
> >> > >                 messageKey));
> >> > >             } else {
> >> > >                 result = (resources.getMessage(userLocale,
> >> > >                 messageKey,
> >> > >                         args));
> >> > >             }
> >> > >         } catch (Exception e) {
> >> > >             //log.error("Exception while looking for message.",
> >> > >             e);
> >> > >         }
> >> > >         return result;
> >> > >     }
> >> > >
> >> > >     /**
> >> > >      * <p>Return the default message resources for the current
> >> > >      module.</p> *
> >> > >      * @param request The servlet request we are processing
> >> > >      */
> >> > >     protected MessageResources getResources(HttpServletRequest
> >> > >     request) {
> >> > >
> >> > >         return ((MessageResources)
> >> > >                 request.getAttribute(Globals.MESSAGES_KEY));
> >> > >
> >> > >     }
> >> > >
> >> > >     /**
> >> > >      * <p>Return the specified message resources for the current
> >> > >      module.</p> *
> >> > >      * @param bundle The key specified in the
> >> > >      *  <code>&lt;message-resources&gt;</code> element for the
> >> > >      *  requested bundle
> >> > >      * @param request The servlet request we are processing
> >> > >      * @param servletContext the current {@link ServletContext}
> >> > >      */
> >> > >     protected MessageResources getResources(String bundle,
> >> > >                                             HttpServletRequest
> >> > >                               request,
> >> > >                                             ServletContext
> >> > >                               servletContext) {
> >> > >
> >> > >         // Identify the current module
> >> > >         ModuleConfig moduleConfig =
> >> > >                 ModuleUtils.getInstance().getModuleConfig(
> >> > >                         request, servletContext);
> >> > >
> >> > >         // Return the requested message resources instance
> >> > >         return ((MessageResources) servletContext.getAttribute
> >> > >                 (bundle + moduleConfig.getPrefix()));
> >> > >
> >> > >     }
> >> > >
> >> > >
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Alan Pocklington <aj...@pocko.freeserve.co.uk>.
Cheers for pointing that out.  As of yet I don't need message arguments 
so that'll be fine.

Was there any reason for having a getLocale(request) method? I'm guessing 
the implementation was different from just request.getLocale().


Hubert Rabago <hr...@gmail.com> wrote in
news:7b809eef041013084978b095ae@mail.gmail.com: 

> On Wed, 13 Oct 2004 10:38:09 -0500, Hubert Rabago <hr...@gmail.com>
> wrote: 
>> Yup, copy/paste from existing code works fast.  :)
> 
> It's also not foolproof.  This excerpt was specific to the needs of
> the class I took it from.  Check the getMessage() method -- it can
> actually accept message arguments, but the evaluateMessage() doesn't
> use them.  If you do need them, just modify evaluateMessage() to also
> accept an argument parameter.
> Sorry about that.
> 
>> 
>> On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
>> <aj...@pocko.freeserve.co.uk> wrote:
>> > Wow, thanks for the quick reply. Will do!
>> 
>> 
>> >
>> > Hubert Rabago <hr...@gmail.com> wrote in
>> > news:7b809eef041013082969eb9303@mail.gmail.com:
>> >
>> >
>> >
>> > > Put this in a util class and call evaluateMessage():
>> > >
>> > >     /**
>> > >      * <p>Evaluate the given message resource key.</p>
>> > >      *
>> > >      * @param messageKey the name of the resource entry to
>> > >      retrieve * @param bundle The key specified in the
>> > >      *  <code>&lt;message-resources&gt;</code> element for the
>> > >      *  resource bundle to use
>> > >      * @param request the request being processed
>> > >      * @param servletContext the current {@link ServletContext}
>> > >      * @return the value of paramName from the message resources
>> > >      */
>> > >     public String evaluateMessage(
>> > >             String messageKey,
>> > >             String bundle,
>> > >             HttpServletRequest request,
>> > >             ServletContext servletContext) {
>> > >         // get the message resources
>> > >         MessageResources resources;
>> > >         if (bundle != null) {
>> > >             resources = getResources(bundle, request,
>> > >             servletContext); 
>> > >         } else {
>> > >             resources = getResources(request);
>> > >         }
>> > >         // evaluate the message
>> > >         String messageString = getMessage(messageKey, null,
>> > >         request, 
>> > >                 resources);
>> > >
>> > >         // add it to the redirect parameters
>> > >         if ((messageString != null) && (messageString.length() >
>> > >         0)) { 
>> > >             return messageString;
>> > >         }
>> > >         return null;
>> > >     }
>> > >
>> > >
>> > >     /**
>> > >      * <p>Look for the ActionMessage in the provided
>> > >      MessageResources.</p> *
>> > >      * @param messageKey the key to look for
>> > >      * @param args the arguments to be used in evaluating the
>> > >      message * @param request the request being processed
>> > >      * @param resources the application's message resources
>> > >      * @return the message formed from the given ActionMessage
>> > >      */
>> > >     protected String getMessage(String messageKey,
>> > >                                 Object[] args,
>> > >                                 HttpServletRequest request,
>> > >                                 MessageResources resources) {
>> > >         if (messageKey == null) {
>> > >             //log.warn("Call to getMessage() with a null
>> > >             messageKey."); return null;
>> > >         }
>> > >
>> > >         String result = null;
>> > >         try {
>> > >             // first, get the locale from the request
>> > >             Locale userLocale = getLocale(request);
>> > >
>> > >             // then, get the message
>> > >             if (args == null) {
>> > >                 result = (resources.getMessage(userLocale,
>> > >                 messageKey));
>> > >             } else {
>> > >                 result = (resources.getMessage(userLocale,
>> > >                 messageKey, 
>> > >                         args));
>> > >             }
>> > >         } catch (Exception e) {
>> > >             //log.error("Exception while looking for message.",
>> > >             e); 
>> > >         }
>> > >         return result;
>> > >     }
>> > >
>> > >     /**
>> > >      * <p>Return the default message resources for the current
>> > >      module.</p> *
>> > >      * @param request The servlet request we are processing
>> > >      */
>> > >     protected MessageResources getResources(HttpServletRequest
>> > >     request) {
>> > >
>> > >         return ((MessageResources)
>> > >                 request.getAttribute(Globals.MESSAGES_KEY));
>> > >
>> > >     }
>> > >
>> > >     /**
>> > >      * <p>Return the specified message resources for the current
>> > >      module.</p> *
>> > >      * @param bundle The key specified in the
>> > >      *  <code>&lt;message-resources&gt;</code> element for the
>> > >      *  requested bundle
>> > >      * @param request The servlet request we are processing
>> > >      * @param servletContext the current {@link ServletContext}
>> > >      */
>> > >     protected MessageResources getResources(String bundle,
>> > >                                             HttpServletRequest
>> > >                               request,
>> > >                                             ServletContext
>> > >                               servletContext) {
>> > >
>> > >         // Identify the current module
>> > >         ModuleConfig moduleConfig =
>> > >                 ModuleUtils.getInstance().getModuleConfig(
>> > >                         request, servletContext);
>> > >
>> > >         // Return the requested message resources instance
>> > >         return ((MessageResources) servletContext.getAttribute
>> > >                 (bundle + moduleConfig.getPrefix()));
>> > >
>> > >     }
>> > >
>> > >
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Hubert Rabago <hr...@gmail.com>.
On Wed, 13 Oct 2004 10:38:09 -0500, Hubert Rabago <hr...@gmail.com> wrote:
> Yup, copy/paste from existing code works fast.  :)

It's also not foolproof.  This excerpt was specific to the needs of
the class I took it from.  Check the getMessage() method -- it can
actually accept message arguments, but the evaluateMessage() doesn't
use them.  If you do need them, just modify evaluateMessage() to also
accept an argument parameter.
Sorry about that.

> 
> On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
> <aj...@pocko.freeserve.co.uk> wrote:
> > Wow, thanks for the quick reply. Will do!
> 
> 
> >
> > Hubert Rabago <hr...@gmail.com> wrote in
> > news:7b809eef041013082969eb9303@mail.gmail.com:
> >
> >
> >
> > > Put this in a util class and call evaluateMessage():
> > >
> > >     /**
> > >      * <p>Evaluate the given message resource key.</p>
> > >      *
> > >      * @param messageKey the name of the resource entry to retrieve
> > >      * @param bundle The key specified in the
> > >      *  <code>&lt;message-resources&gt;</code> element for the
> > >      *  resource bundle to use
> > >      * @param request the request being processed
> > >      * @param servletContext the current {@link ServletContext}
> > >      * @return the value of paramName from the message resources
> > >      */
> > >     public String evaluateMessage(
> > >             String messageKey,
> > >             String bundle,
> > >             HttpServletRequest request,
> > >             ServletContext servletContext) {
> > >         // get the message resources
> > >         MessageResources resources;
> > >         if (bundle != null) {
> > >             resources = getResources(bundle, request, servletContext);
> > >         } else {
> > >             resources = getResources(request);
> > >         }
> > >         // evaluate the message
> > >         String messageString = getMessage(messageKey, null, request,
> > >                 resources);
> > >
> > >         // add it to the redirect parameters
> > >         if ((messageString != null) && (messageString.length() > 0)) {
> > >             return messageString;
> > >         }
> > >         return null;
> > >     }
> > >
> > >
> > >     /**
> > >      * <p>Look for the ActionMessage in the provided
> > >      MessageResources.</p> *
> > >      * @param messageKey the key to look for
> > >      * @param args the arguments to be used in evaluating the message
> > >      * @param request the request being processed
> > >      * @param resources the application's message resources
> > >      * @return the message formed from the given ActionMessage
> > >      */
> > >     protected String getMessage(String messageKey,
> > >                                 Object[] args,
> > >                                 HttpServletRequest request,
> > >                                 MessageResources resources) {
> > >         if (messageKey == null) {
> > >             //log.warn("Call to getMessage() with a null
> > >             messageKey."); return null;
> > >         }
> > >
> > >         String result = null;
> > >         try {
> > >             // first, get the locale from the request
> > >             Locale userLocale = getLocale(request);
> > >
> > >             // then, get the message
> > >             if (args == null) {
> > >                 result = (resources.getMessage(userLocale,
> > >                 messageKey));
> > >             } else {
> > >                 result = (resources.getMessage(userLocale, messageKey,
> > >                         args));
> > >             }
> > >         } catch (Exception e) {
> > >             //log.error("Exception while looking for message.", e);
> > >         }
> > >         return result;
> > >     }
> > >
> > >     /**
> > >      * <p>Return the default message resources for the current
> > >      module.</p> *
> > >      * @param request The servlet request we are processing
> > >      */
> > >     protected MessageResources getResources(HttpServletRequest
> > >     request) {
> > >
> > >         return ((MessageResources)
> > >                 request.getAttribute(Globals.MESSAGES_KEY));
> > >
> > >     }
> > >
> > >     /**
> > >      * <p>Return the specified message resources for the current
> > >      module.</p> *
> > >      * @param bundle The key specified in the
> > >      *  <code>&lt;message-resources&gt;</code> element for the
> > >      *  requested bundle
> > >      * @param request The servlet request we are processing
> > >      * @param servletContext the current {@link ServletContext}
> > >      */
> > >     protected MessageResources getResources(String bundle,
> > >                                             HttpServletRequest
> > >                               request,
> > >                                             ServletContext
> > >                               servletContext) {
> > >
> > >         // Identify the current module
> > >         ModuleConfig moduleConfig =
> > >                 ModuleUtils.getInstance().getModuleConfig(
> > >                         request, servletContext);
> > >
> > >         // Return the requested message resources instance
> > >         return ((MessageResources) servletContext.getAttribute
> > >                 (bundle + moduleConfig.getPrefix()));
> > >
> > >     }
> > >
> > >

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Hubert Rabago <hr...@gmail.com>.
Yup, right here:

    /**
     * Get the locale that will be used for a conversion operation.
     */
    protected Locale getLocale(HttpServletRequest request) {
        Locale locale = null;

        // see if there's a locale present among the session attributes
        HttpSession session = request.getSession(false);
        if (session != null) {
            locale = (Locale) session.getAttribute(Globals.LOCALE_KEY);
        }

        // if we can't find anything in the session,
        //      use the one which request provides
        if (locale == null) {
            locale = request.getLocale();
        }

        return locale;
    }


Lemme know if you need more.  Sorry, don't have time to double check
everything right now.  I'm getting these from:

https://formdef.dev.java.net/source/browse/formdef/src/java/formdef/plugin/util/FormUtils.java?rev=1.8&content-type=text/vnd.viewcvs-markup
 :p


On Wed, 13 Oct 2004 15:42:22 +0000 (UTC), Alan Pocklington
<aj...@pocko.freeserve.co.uk> wrote:
> In that case, do you have the existing code for the method
> getLocale(request)?  I haven't got my head around locales yet.
> 
> 
> Hubert Rabago <hr...@gmail.com> wrote in
> news:7b809eef04101308383d1e360d@mail.gmail.com:
> 
> 
> 
> > Yup, copy/paste from existing code works fast.  :)
> >
> >
> > On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
> > <aj...@pocko.freeserve.co.uk> wrote:
> >> Wow, thanks for the quick reply. Will do!
> >>
> >> Hubert Rabago <hr...@gmail.com> wrote in
> >> news:7b809eef041013082969eb9303@mail.gmail.com:
> >>
> >>
> >>
> >> > Put this in a util class and call evaluateMessage():
> >> >
> >> >     /**
> >> >      * <p>Evaluate the given message resource key.</p>
> >> >      *
> >> >      * @param messageKey the name of the resource entry to retrieve
> >> >      * @param bundle The key specified in the
> >> >      *  <code>&lt;message-resources&gt;</code> element for the
> >> >      *  resource bundle to use
> >> >      * @param request the request being processed
> >> >      * @param servletContext the current {@link ServletContext}
> >> >      * @return the value of paramName from the message resources
> >> >      */
> >> >     public String evaluateMessage(
> >> >             String messageKey,
> >> >             String bundle,
> >> >             HttpServletRequest request,
> >> >             ServletContext servletContext) {
> >> >         // get the message resources
> >> >         MessageResources resources;
> >> >         if (bundle != null) {
> >> >             resources = getResources(bundle, request,
> >> >             servletContext);
> >> >         } else {
> >> >             resources = getResources(request);
> >> >         }
> >> >         // evaluate the message
> >> >         String messageString = getMessage(messageKey, null,
> >> >         request,
> >> >                 resources);
> >> >
> >> >         // add it to the redirect parameters
> >> >         if ((messageString != null) && (messageString.length() >
> >> >         0)) {
> >> >             return messageString;
> >> >         }
> >> >         return null;
> >> >     }
> >> >
> >> >
> >> >     /**
> >> >      * <p>Look for the ActionMessage in the provided
> >> >      MessageResources.</p> *
> >> >      * @param messageKey the key to look for
> >> >      * @param args the arguments to be used in evaluating the
> >> >      message * @param request the request being processed
> >> >      * @param resources the application's message resources
> >> >      * @return the message formed from the given ActionMessage
> >> >      */
> >> >     protected String getMessage(String messageKey,
> >> >                                 Object[] args,
> >> >                                 HttpServletRequest request,
> >> >                                 MessageResources resources) {
> >> >         if (messageKey == null) {
> >> >             //log.warn("Call to getMessage() with a null
> >> >             messageKey."); return null;
> >> >         }
> >> >
> >> >         String result = null;
> >> >         try {
> >> >             // first, get the locale from the request
> >> >             Locale userLocale = getLocale(request);
> >> >
> >> >             // then, get the message
> >> >             if (args == null) {
> >> >                 result = (resources.getMessage(userLocale,
> >> >                 messageKey));
> >> >             } else {
> >> >                 result = (resources.getMessage(userLocale,
> >> >                 messageKey,
> >> >                         args));
> >> >             }
> >> >         } catch (Exception e) {
> >> >             //log.error("Exception while looking for message.", e);
> >> >         }
> >> >         return result;
> >> >     }
> >> >
> >> >     /**
> >> >      * <p>Return the default message resources for the current
> >> >      module.</p> *
> >> >      * @param request The servlet request we are processing
> >> >      */
> >> >     protected MessageResources getResources(HttpServletRequest
> >> >     request) {
> >> >
> >> >         return ((MessageResources)
> >> >                 request.getAttribute(Globals.MESSAGES_KEY));
> >> >
> >> >     }
> >> >
> >> >     /**
> >> >      * <p>Return the specified message resources for the current
> >> >      module.</p> *
> >> >      * @param bundle The key specified in the
> >> >      *  <code>&lt;message-resources&gt;</code> element for the
> >> >      *  requested bundle
> >> >      * @param request The servlet request we are processing
> >> >      * @param servletContext the current {@link ServletContext}
> >> >      */
> >> >     protected MessageResources getResources(String bundle,
> >> >                                             HttpServletRequest
> >> >                               request,
> >> >                                             ServletContext
> >> >                               servletContext) {
> >> >
> >> >         // Identify the current module
> >> >         ModuleConfig moduleConfig =
> >> >                 ModuleUtils.getInstance().getModuleConfig(
> >> >                         request, servletContext);
> >> >
> >> >         // Return the requested message resources instance
> >> >         return ((MessageResources) servletContext.getAttribute
> >> >                 (bundle + moduleConfig.getPrefix()));
> >> >
> >> >     }
> >> >
> >> >
> >> >
> >> > On Wed, 13 Oct 2004 15:24:27 +0000 (UTC), Alan Pocklington
> >> > <aj...@pocko.freeserve.co.uk> wrote:
> >> >> Hi,
> >> >>
> >> >> I want my action to read a property from the
> >> >> MessageResources.properties file in the same way that
> >> >> ActionMessages does.  What's the simplest code I can use to
> >> >> retreive a particular property's value?
> >> >>
> >> >> Thanks in advance,
> >> >>
> >> >> -------------------------------------------------------------------
> >> >> -- To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> >> For additional commands, e-mail: user-help@struts.apache.org
> >> >>
> >> >>
> >> >
> >>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: user-help@struts.apache.org
> >>
> >>
> >
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Alan Pocklington <aj...@pocko.freeserve.co.uk>.
In that case, do you have the existing code for the method
getLocale(request)?  I haven't got my head around locales yet. 


Hubert Rabago <hr...@gmail.com> wrote in
news:7b809eef04101308383d1e360d@mail.gmail.com: 

> Yup, copy/paste from existing code works fast.  :)
> 
> 
> On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
> <aj...@pocko.freeserve.co.uk> wrote:
>> Wow, thanks for the quick reply. Will do!
>> 
>> Hubert Rabago <hr...@gmail.com> wrote in
>> news:7b809eef041013082969eb9303@mail.gmail.com:
>> 
>> 
>> 
>> > Put this in a util class and call evaluateMessage():
>> >
>> >     /**
>> >      * <p>Evaluate the given message resource key.</p>
>> >      *
>> >      * @param messageKey the name of the resource entry to retrieve
>> >      * @param bundle The key specified in the
>> >      *  <code>&lt;message-resources&gt;</code> element for the
>> >      *  resource bundle to use
>> >      * @param request the request being processed
>> >      * @param servletContext the current {@link ServletContext}
>> >      * @return the value of paramName from the message resources
>> >      */
>> >     public String evaluateMessage(
>> >             String messageKey,
>> >             String bundle,
>> >             HttpServletRequest request,
>> >             ServletContext servletContext) {
>> >         // get the message resources
>> >         MessageResources resources;
>> >         if (bundle != null) {
>> >             resources = getResources(bundle, request,
>> >             servletContext); 
>> >         } else {
>> >             resources = getResources(request);
>> >         }
>> >         // evaluate the message
>> >         String messageString = getMessage(messageKey, null,
>> >         request, 
>> >                 resources);
>> >
>> >         // add it to the redirect parameters
>> >         if ((messageString != null) && (messageString.length() >
>> >         0)) { 
>> >             return messageString;
>> >         }
>> >         return null;
>> >     }
>> >
>> >
>> >     /**
>> >      * <p>Look for the ActionMessage in the provided
>> >      MessageResources.</p> *
>> >      * @param messageKey the key to look for
>> >      * @param args the arguments to be used in evaluating the
>> >      message * @param request the request being processed
>> >      * @param resources the application's message resources
>> >      * @return the message formed from the given ActionMessage
>> >      */
>> >     protected String getMessage(String messageKey,
>> >                                 Object[] args,
>> >                                 HttpServletRequest request,
>> >                                 MessageResources resources) {
>> >         if (messageKey == null) {
>> >             //log.warn("Call to getMessage() with a null
>> >             messageKey."); return null;
>> >         }
>> >
>> >         String result = null;
>> >         try {
>> >             // first, get the locale from the request
>> >             Locale userLocale = getLocale(request);
>> >
>> >             // then, get the message
>> >             if (args == null) {
>> >                 result = (resources.getMessage(userLocale,
>> >                 messageKey));
>> >             } else {
>> >                 result = (resources.getMessage(userLocale,
>> >                 messageKey, 
>> >                         args));
>> >             }
>> >         } catch (Exception e) {
>> >             //log.error("Exception while looking for message.", e);
>> >         }
>> >         return result;
>> >     }
>> >
>> >     /**
>> >      * <p>Return the default message resources for the current
>> >      module.</p> *
>> >      * @param request The servlet request we are processing
>> >      */
>> >     protected MessageResources getResources(HttpServletRequest
>> >     request) {
>> >
>> >         return ((MessageResources)
>> >                 request.getAttribute(Globals.MESSAGES_KEY));
>> >
>> >     }
>> >
>> >     /**
>> >      * <p>Return the specified message resources for the current
>> >      module.</p> *
>> >      * @param bundle The key specified in the
>> >      *  <code>&lt;message-resources&gt;</code> element for the
>> >      *  requested bundle
>> >      * @param request The servlet request we are processing
>> >      * @param servletContext the current {@link ServletContext}
>> >      */
>> >     protected MessageResources getResources(String bundle,
>> >                                             HttpServletRequest
>> >                               request,
>> >                                             ServletContext
>> >                               servletContext) {
>> >
>> >         // Identify the current module
>> >         ModuleConfig moduleConfig =
>> >                 ModuleUtils.getInstance().getModuleConfig(
>> >                         request, servletContext);
>> >
>> >         // Return the requested message resources instance
>> >         return ((MessageResources) servletContext.getAttribute
>> >                 (bundle + moduleConfig.getPrefix()));
>> >
>> >     }
>> >
>> >
>> >
>> > On Wed, 13 Oct 2004 15:24:27 +0000 (UTC), Alan Pocklington
>> > <aj...@pocko.freeserve.co.uk> wrote:
>> >> Hi,
>> >>
>> >> I want my action to read a property from the
>> >> MessageResources.properties file in the same way that
>> >> ActionMessages does.  What's the simplest code I can use to
>> >> retreive a particular property's value?
>> >>
>> >> Thanks in advance,
>> >>
>> >> -------------------------------------------------------------------
>> >> -- To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> >> For additional commands, e-mail: user-help@struts.apache.org
>> >>
>> >>
>> >
>> 
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>> 
>>
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Hubert Rabago <hr...@gmail.com>.
Yup, copy/paste from existing code works fast.  :)


On Wed, 13 Oct 2004 15:35:24 +0000 (UTC), Alan Pocklington
<aj...@pocko.freeserve.co.uk> wrote:
> Wow, thanks for the quick reply. Will do!
> 
> Hubert Rabago <hr...@gmail.com> wrote in
> news:7b809eef041013082969eb9303@mail.gmail.com:
> 
> 
> 
> > Put this in a util class and call evaluateMessage():
> >
> >     /**
> >      * <p>Evaluate the given message resource key.</p>
> >      *
> >      * @param messageKey the name of the resource entry to retrieve
> >      * @param bundle The key specified in the
> >      *  <code>&lt;message-resources&gt;</code> element for the
> >      *  resource bundle to use
> >      * @param request the request being processed
> >      * @param servletContext the current {@link ServletContext}
> >      * @return the value of paramName from the message resources
> >      */
> >     public String evaluateMessage(
> >             String messageKey,
> >             String bundle,
> >             HttpServletRequest request,
> >             ServletContext servletContext) {
> >         // get the message resources
> >         MessageResources resources;
> >         if (bundle != null) {
> >             resources = getResources(bundle, request, servletContext);
> >         } else {
> >             resources = getResources(request);
> >         }
> >         // evaluate the message
> >         String messageString = getMessage(messageKey, null, request,
> >                 resources);
> >
> >         // add it to the redirect parameters
> >         if ((messageString != null) && (messageString.length() > 0)) {
> >             return messageString;
> >         }
> >         return null;
> >     }
> >
> >
> >     /**
> >      * <p>Look for the ActionMessage in the provided
> >      MessageResources.</p> *
> >      * @param messageKey the key to look for
> >      * @param args the arguments to be used in evaluating the message
> >      * @param request the request being processed
> >      * @param resources the application's message resources
> >      * @return the message formed from the given ActionMessage
> >      */
> >     protected String getMessage(String messageKey,
> >                                 Object[] args,
> >                                 HttpServletRequest request,
> >                                 MessageResources resources) {
> >         if (messageKey == null) {
> >             //log.warn("Call to getMessage() with a null
> >             messageKey."); return null;
> >         }
> >
> >         String result = null;
> >         try {
> >             // first, get the locale from the request
> >             Locale userLocale = getLocale(request);
> >
> >             // then, get the message
> >             if (args == null) {
> >                 result = (resources.getMessage(userLocale,
> >                 messageKey));
> >             } else {
> >                 result = (resources.getMessage(userLocale, messageKey,
> >                         args));
> >             }
> >         } catch (Exception e) {
> >             //log.error("Exception while looking for message.", e);
> >         }
> >         return result;
> >     }
> >
> >     /**
> >      * <p>Return the default message resources for the current
> >      module.</p> *
> >      * @param request The servlet request we are processing
> >      */
> >     protected MessageResources getResources(HttpServletRequest
> >     request) {
> >
> >         return ((MessageResources)
> >                 request.getAttribute(Globals.MESSAGES_KEY));
> >
> >     }
> >
> >     /**
> >      * <p>Return the specified message resources for the current
> >      module.</p> *
> >      * @param bundle The key specified in the
> >      *  <code>&lt;message-resources&gt;</code> element for the
> >      *  requested bundle
> >      * @param request The servlet request we are processing
> >      * @param servletContext the current {@link ServletContext}
> >      */
> >     protected MessageResources getResources(String bundle,
> >                                             HttpServletRequest
> >                               request,
> >                                             ServletContext
> >                               servletContext) {
> >
> >         // Identify the current module
> >         ModuleConfig moduleConfig =
> >                 ModuleUtils.getInstance().getModuleConfig(
> >                         request, servletContext);
> >
> >         // Return the requested message resources instance
> >         return ((MessageResources) servletContext.getAttribute
> >                 (bundle + moduleConfig.getPrefix()));
> >
> >     }
> >
> >
> >
> > On Wed, 13 Oct 2004 15:24:27 +0000 (UTC), Alan Pocklington
> > <aj...@pocko.freeserve.co.uk> wrote:
> >> Hi,
> >>
> >> I want my action to read a property from the
> >> MessageResources.properties file in the same way that ActionMessages
> >> does.  What's the simplest code I can use to retreive a particular
> >> property's value?
> >>
> >> Thanks in advance,
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: user-help@struts.apache.org
> >>
> >>
> >
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Alan Pocklington <aj...@pocko.freeserve.co.uk>.
Wow, thanks for the quick reply. Will do!


Hubert Rabago <hr...@gmail.com> wrote in
news:7b809eef041013082969eb9303@mail.gmail.com: 

> Put this in a util class and call evaluateMessage():
> 
>     /**
>      * <p>Evaluate the given message resource key.</p>
>      *
>      * @param messageKey the name of the resource entry to retrieve
>      * @param bundle The key specified in the
>      *  <code>&lt;message-resources&gt;</code> element for the
>      *  resource bundle to use
>      * @param request the request being processed
>      * @param servletContext the current {@link ServletContext}
>      * @return the value of paramName from the message resources
>      */
>     public String evaluateMessage(
>             String messageKey,
>             String bundle,
>             HttpServletRequest request,
>             ServletContext servletContext) {
>         // get the message resources
>         MessageResources resources;
>         if (bundle != null) {
>             resources = getResources(bundle, request, servletContext);
>         } else {
>             resources = getResources(request);
>         }
>         // evaluate the message
>         String messageString = getMessage(messageKey, null, request,
>                 resources);
> 
>         // add it to the redirect parameters
>         if ((messageString != null) && (messageString.length() > 0)) {
>             return messageString;
>         }
>         return null;
>     }
> 
> 
>     /**
>      * <p>Look for the ActionMessage in the provided
>      MessageResources.</p> *
>      * @param messageKey the key to look for
>      * @param args the arguments to be used in evaluating the message
>      * @param request the request being processed
>      * @param resources the application's message resources
>      * @return the message formed from the given ActionMessage
>      */
>     protected String getMessage(String messageKey,
>                                 Object[] args,
>                                 HttpServletRequest request,
>                                 MessageResources resources) {
>         if (messageKey == null) {
>             //log.warn("Call to getMessage() with a null
>             messageKey."); return null;
>         }
> 
>         String result = null;
>         try {
>             // first, get the locale from the request
>             Locale userLocale = getLocale(request);
> 
>             // then, get the message
>             if (args == null) {
>                 result = (resources.getMessage(userLocale,
>                 messageKey)); 
>             } else {
>                 result = (resources.getMessage(userLocale, messageKey,
>                         args));
>             }
>         } catch (Exception e) {
>             //log.error("Exception while looking for message.", e);
>         }
>         return result;
>     }
> 
>     /**
>      * <p>Return the default message resources for the current
>      module.</p> *
>      * @param request The servlet request we are processing
>      */
>     protected MessageResources getResources(HttpServletRequest
>     request) { 
> 
>         return ((MessageResources)
>                 request.getAttribute(Globals.MESSAGES_KEY));
> 
>     }
> 
>     /**
>      * <p>Return the specified message resources for the current
>      module.</p> *
>      * @param bundle The key specified in the
>      *  <code>&lt;message-resources&gt;</code> element for the
>      *  requested bundle
>      * @param request The servlet request we are processing
>      * @param servletContext the current {@link ServletContext}
>      */
>     protected MessageResources getResources(String bundle,
>                                             HttpServletRequest
>                               request, 
>                                             ServletContext
>                               servletContext) { 
> 
>         // Identify the current module
>         ModuleConfig moduleConfig =
>                 ModuleUtils.getInstance().getModuleConfig(
>                         request, servletContext);
> 
>         // Return the requested message resources instance
>         return ((MessageResources) servletContext.getAttribute
>                 (bundle + moduleConfig.getPrefix()));
> 
>     }
>     
> 
> 
> On Wed, 13 Oct 2004 15:24:27 +0000 (UTC), Alan Pocklington
> <aj...@pocko.freeserve.co.uk> wrote:
>> Hi,
>> 
>> I want my action to read a property from the
>> MessageResources.properties file in the same way that ActionMessages
>> does.  What's the simplest code I can use to retreive a particular
>> property's value? 
>> 
>> Thanks in advance,
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>> 
>>
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to read MessageResources.

Posted by Hubert Rabago <hr...@gmail.com>.
Put this in a util class and call evaluateMessage():

    /**
     * <p>Evaluate the given message resource key.</p>
     *
     * @param messageKey the name of the resource entry to retrieve
     * @param bundle The key specified in the
     *  <code>&lt;message-resources&gt;</code> element for the
     *  resource bundle to use
     * @param request the request being processed
     * @param servletContext the current {@link ServletContext}
     * @return the value of paramName from the message resources
     */
    public String evaluateMessage(
            String messageKey,
            String bundle,
            HttpServletRequest request,
            ServletContext servletContext) {
        // get the message resources
        MessageResources resources;
        if (bundle != null) {
            resources = getResources(bundle, request, servletContext);
        } else {
            resources = getResources(request);
        }
        // evaluate the message
        String messageString = getMessage(messageKey, null, request,
                resources);

        // add it to the redirect parameters
        if ((messageString != null) && (messageString.length() > 0)) {
            return messageString;
        }
        return null;
    }


    /**
     * <p>Look for the ActionMessage in the provided MessageResources.</p>
     *
     * @param messageKey the key to look for
     * @param args the arguments to be used in evaluating the message
     * @param request the request being processed
     * @param resources the application's message resources
     * @return the message formed from the given ActionMessage
     */
    protected String getMessage(String messageKey,
                                Object[] args,
                                HttpServletRequest request,
                                MessageResources resources) {
        if (messageKey == null) {
            //log.warn("Call to getMessage() with a null messageKey.");
            return null;
        }

        String result = null;
        try {
            // first, get the locale from the request
            Locale userLocale = getLocale(request);

            // then, get the message
            if (args == null) {
                result = (resources.getMessage(userLocale, messageKey));
            } else {
                result = (resources.getMessage(userLocale, messageKey,
                        args));
            }
        } catch (Exception e) {
            //log.error("Exception while looking for message.", e);
        }
        return result;
    }

    /**
     * <p>Return the default message resources for the current module.</p>
     *
     * @param request The servlet request we are processing
     */
    protected MessageResources getResources(HttpServletRequest request) {

        return ((MessageResources)
                request.getAttribute(Globals.MESSAGES_KEY));

    }

    /**
     * <p>Return the specified message resources for the current module.</p>
     *
     * @param bundle The key specified in the
     *  <code>&lt;message-resources&gt;</code> element for the
     *  requested bundle
     * @param request The servlet request we are processing
     * @param servletContext the current {@link ServletContext}
     */
    protected MessageResources getResources(String bundle,
                                            HttpServletRequest request,
                                            ServletContext servletContext) {

        // Identify the current module
        ModuleConfig moduleConfig =
                ModuleUtils.getInstance().getModuleConfig(
                        request, servletContext);

        // Return the requested message resources instance
        return ((MessageResources) servletContext.getAttribute
                (bundle + moduleConfig.getPrefix()));

    }
    


On Wed, 13 Oct 2004 15:24:27 +0000 (UTC), Alan Pocklington
<aj...@pocko.freeserve.co.uk> wrote:
> Hi,
> 
> I want my action to read a property from the MessageResources.properties
> file in the same way that ActionMessages does.  What's the simplest code I
> can use to retreive a particular property's value?
> 
> Thanks in advance,
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org