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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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><message-resources></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