Class StrutsUtils


  • public class StrutsUtils
    extends java.lang.Object

    A utility class to expose the Struts shared resources. All methods are static.

    This class is provided for use by Velocity view tools that need access to Struts resources. By having all Struts- specific code in this utility class, maintenance is simplified and reuse fostered.

    It is the aim, that sooner or later the functionality in this class is integrated into Struts itself. See Bug #16814 for more on that.

    Version:
    $Id: StrutsUtils.java 670093 2008-06-20 23:10:11Z nbubna $
    Author:
    Marino A. Jonsson, Nathan Bubna, Gabe Sidler based on code by Ted Husted
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private StrutsUtils()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String errorMarkup​(java.lang.String property, HttpServletRequest request, HttpSession session, ServletContext application)
      Returns a formatted error message.
      static java.lang.String errorMarkup​(java.lang.String property, java.lang.String bundle, HttpServletRequest request, HttpSession session, ServletContext application)
      Returns a formatted error message.
      static ActionForm getActionForm​(HttpServletRequest request, HttpSession session)
      Returns the ActionForm bean associated with this request of null if none exists.
      static java.lang.String getActionFormName​(HttpServletRequest request, HttpSession session)
      Returns the ActionForm name associated with this request of null if none exists.
      static java.lang.String getActionMappingName​(java.lang.String action)
      Return the form action converted into an action mapping path.
      static java.lang.String getActionMappingURL​(ServletContext application, HttpServletRequest request, java.lang.String action)
      Returns the form action converted into a server-relative URI reference.
      static ActionMessages getErrors​(HttpServletRequest request)
      Returns the Struts errors for this request or null if none exist.
      static java.lang.String getForwardURL​(HttpServletRequest request, ServletContext app, java.lang.String forward)
      Returns the action forward name converted into a server-relative URI reference.
      StrutsUtils getInstance()  
      static java.util.Locale getLocale​(HttpServletRequest request, HttpSession session)
      Returns the java.util.Locale for the user.
      static MessageResources getMessageResources​(HttpServletRequest request, ServletContext app)
      Returns the message resources for this application or null if not found.
      static MessageResources getMessageResources​(HttpServletRequest request, ServletContext app, java.lang.String bundle)
      Returns the message resources with the specified bundle name for this application or null if not found.
      static ActionMessages getMessages​(HttpServletRequest request)
      Returns the Struts messages for this request or null if none exist.
      static java.lang.String getToken​(HttpSession session)
      Returns the transaction token stored in this session or null if not used.
      static ModuleConfig selectModule​(java.lang.String urlPath, ServletContext app)
      Select the module to which the specified request belongs, and add return the corresponding ModuleConfig.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

    • Constructor Detail

      • StrutsUtils

        private StrutsUtils()
    • Method Detail

      • getMessageResources

        public static MessageResources getMessageResources​(HttpServletRequest request,
                                                           ServletContext app)
        Returns the message resources for this application or null if not found.
        Parameters:
        app - the servlet context
        Since:
        VelocityTools 1.1
      • getMessageResources

        public static MessageResources getMessageResources​(HttpServletRequest request,
                                                           ServletContext app,
                                                           java.lang.String bundle)
        Returns the message resources with the specified bundle name for this application or null if not found.
        Parameters:
        app - the servlet context
        bundle - The bundle name to look for. If this is null, the default bundle name is used.
        Since:
        VelocityTools 1.1
      • selectModule

        public static ModuleConfig selectModule​(java.lang.String urlPath,
                                                ServletContext app)
        Select the module to which the specified request belongs, and add return the corresponding ModuleConfig.
        Parameters:
        urlPath - The requested URL
        app - The ServletContext for this web application
        Returns:
        The ModuleConfig for the given URL path
        Since:
        VelocityTools 1.1
      • getLocale

        public static java.util.Locale getLocale​(HttpServletRequest request,
                                                 HttpSession session)
        Returns the java.util.Locale for the user. If a locale object is not found in the user's session, the system default locale is returned.
        Parameters:
        request - the servlet request
        session - the HTTP session
      • getToken

        public static java.lang.String getToken​(HttpSession session)
        Returns the transaction token stored in this session or null if not used.
        Parameters:
        session - the HTTP session
      • getErrors

        public static ActionMessages getErrors​(HttpServletRequest request)
        Returns the Struts errors for this request or null if none exist. Since VelocityTools 1.2, this will also check the session (if there is one) for errors if there are no errors in the request.
        Parameters:
        request - the servlet request
        Since:
        VelocityTools 1.1
      • getMessages

        public static ActionMessages getMessages​(HttpServletRequest request)
        Returns the Struts messages for this request or null if none exist. Since VelocityTools 1.2, this will also check the session (if there is one) for messages if there are no messages in the request.
        Parameters:
        request - the servlet request
        Since:
        VelocityTools 1.1
      • getActionForm

        public static ActionForm getActionForm​(HttpServletRequest request,
                                               HttpSession session)
        Returns the ActionForm bean associated with this request of null if none exists.
        Parameters:
        request - the servlet request
        session - the HTTP session
      • getActionFormName

        public static java.lang.String getActionFormName​(HttpServletRequest request,
                                                         HttpSession session)
        Returns the ActionForm name associated with this request of null if none exists.
        Parameters:
        request - the servlet request
        session - the HTTP session
      • getActionMappingName

        public static java.lang.String getActionMappingName​(java.lang.String action)
        Return the form action converted into an action mapping path. The value of the action property is manipulated as follows in computing the name of the requested mapping:
        • Any filename extension is removed (on the theory that extension mapping is being used to select the controller servlet).
        • If the resulting value does not start with a slash, then a slash is prepended.
      • getActionMappingURL

        public static java.lang.String getActionMappingURL​(ServletContext application,
                                                           HttpServletRequest request,
                                                           java.lang.String action)
        Returns the form action converted into a server-relative URI reference.
        Parameters:
        application - the servlet context
        request - the servlet request
        action - the name of an action as per struts-config.xml
      • getForwardURL

        public static java.lang.String getForwardURL​(HttpServletRequest request,
                                                     ServletContext app,
                                                     java.lang.String forward)
        Returns the action forward name converted into a server-relative URI reference.
        Parameters:
        app - the servlet context
        request - the servlet request
        forward - the name of a forward as per struts-config.xml
      • errorMarkup

        public static java.lang.String errorMarkup​(java.lang.String property,
                                                   HttpServletRequest request,
                                                   HttpSession session,
                                                   ServletContext application)
        Returns a formatted error message. The error message is assembled from the following three pieces: First, value of message resource "errors.header" is prepended. Then, the list of error messages is rendered. Finally, the value of message resource "errors.footer" is appended.
        Parameters:
        property - the category of errors to markup and return
        request - the servlet request
        session - the HTTP session
        application - the servlet context
        Returns:
        The formatted error message. If no error messages are queued, an empty string is returned.
      • errorMarkup

        public static java.lang.String errorMarkup​(java.lang.String property,
                                                   java.lang.String bundle,
                                                   HttpServletRequest request,
                                                   HttpSession session,
                                                   ServletContext application)
        Returns a formatted error message. The error message is assembled from the following three pieces: First, value of message resource "errors.header" is prepended. Then, the list of error messages is rendered. Finally, the value of message resource "errors.footer" is appended.
        Parameters:
        property - the category of errors to markup and return
        bundle - the message resource bundle to use
        request - the servlet request
        session - the HTTP session
        application - the servlet context
        Returns:
        The formatted error message. If no error messages are queued, an empty string is returned.
        Since:
        VelocityTools 1.1