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())); } On Wed, 13 Oct 2004 15:24:27 +0000 (UTC), Alan Pocklington <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]