Class StrutsLinkTool

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class StrutsLinkTool
    extends LinkTool

    The StrutsLinkTool extends the standard LinkTool to add methods for working with Struts' Actions and Forwards:

     Template example(s):
       <a href="$link.action.update">update something</a>
       #set( $base = $link.forward.MyPage.anchor('view') )
       <a href="$base.param('select','this')">view this</a>
       <a href="$base.param('select','that')">view that</a>
    
     Toolbox configuration:
     <tools>
       <toolbox scope="request">
         <tool class="org.apache.velocity.tools.struts.StrutsLinkTool"/>
       </toolbox>
     </tools>
     

    This tool may only be used in the request scope.

    Version:
    $Id: StrutsLinkTool.java 707788 2008-10-24 23:28:06Z nbubna $
    Author:
    Gabe Sidler, Nathan Bubna
    • Field Detail

      • application

        protected ServletContext application
      • get

        private java.lang.String get
    • Constructor Detail

      • StrutsLinkTool

        public StrutsLinkTool()
    • Method Detail

      • configure

        protected void configure​(ValueParser props)
        Description copied from class: SafeConfig
        Does the actual configuration. This is protected, so subclasses may share the same ValueParser and call configure at any time, while preventing templates from doing so when configure(Map) is locked.
        Overrides:
        configure in class LinkTool
      • get

        public StrutsLinkTool get​(java.lang.String getme)

        This exists to enable a simplified syntax for using this tool in a template. Now, users can do $link.action.saveFoo instead of $link.setAction('saveFoo') and $link.forward.profile instead of $link.setForward('profile'). Neat, eh? :)

        Since:
        VelocityTools 1.3
      • setAction

        public StrutsLinkTool setAction​(java.lang.String action)

        Returns a copy of the link with the given action name converted into a server-relative URI reference. This method does not check if the specified action really is defined. This method will overwrite any previous URI reference settings but will copy the query string.

        Parameters:
        action - an action path as defined in struts-config.xml
        Returns:
        a new instance of StrutsLinkTool
      • setForward

        public StrutsLinkTool setForward​(java.lang.String forward)

        Returns a copy of the link with the given global or local forward name converted into a server-relative URI reference. If the parameter does not map to an existing global forward name, null is returned. This method will overwrite any previous URI reference settings but will copy the query string.

        Parameters:
        forward - a forward name as defined in struts-config.xml in either global-forwards or in the currently executing action mapping.
        Returns:
        a new instance of StrutsLinkTool