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