getLocale(::HttpServletRequest) will get locale from session instead of request.


On Wed, 13 Oct 2004 15:54:02 +0000 (UTC), Alan Pocklington
<[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> wrote in
> news:[EMAIL PROTECTED]:
> 
> 
> 
> > On Wed, 13 Oct 2004 10:38:09 -0500, Hubert Rabago <[EMAIL PROTECTED]>
> > 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
> >> <[EMAIL PROTECTED]> wrote:
> >> > Wow, thanks for the quick reply. Will do!
> >>
> >>
> >> >
> >> > Hubert Rabago <[EMAIL PROTECTED]> wrote in
> >> > news:[EMAIL PROTECTED]:
> >> >
> >> >
> >> >
> >> > > 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to