rleland     2004/03/11 22:03:56

  Modified:    src/share/org/apache/struts/util RequestUtils.java
  Log:
  Provide a forwardURL that is compatable with Struts 1.1
  
  Revision  Changes    Path
  1.147     +55 -9     
jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java
  
  Index: RequestUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java,v
  retrieving revision 1.146
  retrieving revision 1.147
  diff -u -r1.146 -r1.147
  --- RequestUtils.java 13 Feb 2004 11:07:54 -0000      1.146
  +++ RequestUtils.java 12 Mar 2004 06:03:56 -0000      1.147
  @@ -753,7 +753,52 @@
           return sb.toString();
   
       }
  -    
  +  /**
  +     * <p>Return the context-relative URL that corresponds to the specified
  +     * <code>ForwardConfig</code>. The URL is calculated based on the properties
  +     * of the [EMAIL PROTECTED] ForwardConfig} instance as follows:</p>
  +     * <ul>
  +     * <li>If the <code>contextRelative</code> property is set, it is
  +     *     assumed that the <code>path</code> property contains a path
  +     *     that is already context-relative:
  +     *     <ul>
  +     *     <li>If the <code>path</code> property value starts with a slash,
  +     *         it is returned unmodified.</li>
  +     *     <li>If the <code>path</code> property value does not start
  +     *         with a slash, a slash is prepended.</li>
  +     *     </ul></li>
  +     * <li>Acquire the <code>forwardPattern</code> property from the
  +     *     <code>ControllerConfig</code> for the application module used
  +     *     to process this request. If no pattern was configured, default
  +     *     to a pattern of <code>$M$P</code>, which is compatible with the
  +     *     hard-coded mapping behavior in Struts 1.0.</li>
  +     * <li>Process the acquired <code>forwardPattern</code>, performing the
  +     *     following substitutions:
  +     *     <ul>
  +     *     <li><strong>$M</strong> - Replaced by the module prefix for the
  +     *         application module processing this request.</li>
  +     *     <li><strong>$P</strong> - Replaced by the <code>path</code>
  +     *         property of the specified [EMAIL PROTECTED] ForwardConfig}, prepended
  +     *         with a slash if it does not start with one.</li>
  +     *     <li><strong>$$</strong> - Replaced by a single dollar sign
  +     *         character.</li>
  +     *     <li><strong>$x</strong> (where "x" is any charater not listed
  +     *         above) - Silently omit these two characters from the result
  +     *         value.  (This has the side effect of causing all other
  +     *         $+letter combinations to be reserved.)</li>
  +     *     </ul></li>
  +     * </ul>
  +     *
  +     * @param request The servlet request we are processing
  +     * @param forward ForwardConfig to be evaluated
  +     *
  +     * @return context-relative URL
  +     * @since Struts 1.1
  +     */
  +    public static String forwardURL(HttpServletRequest request, ForwardConfig 
forward) {
  +         return forwardURL(request,forward,null);
  +    }
  +
        /**
         * <p>Return the context-relative URL that corresponds to the specified
         * <code>ForwardConfig</code>. The URL is calculated based on the properties
  @@ -792,9 +837,10 @@
         *
         * @param request The servlet request we are processing
         * @param forward ForwardConfig to be evaluated
  +   * @param moduleConfig Base forward on this module config.
         *
         * @return context-relative URL
  -      * @since Struts 1.1
  +      * @since Struts 1.2
         */
        public static String forwardURL(HttpServletRequest request, ForwardConfig 
forward, ModuleConfig moduleConfig) {
                //load the current moduleConfig, if null
  @@ -1251,7 +1297,7 @@
        * @exception MalformedURLException if a URL cannot be created
        *  for the specified parameters
        * @deprecated This will be removed after Struts 1.2.
  -     * Use [EMAIL PROTECTED] 
org.apache.struts.taglib.TagUtils#computeURL(PageContext,String,String,String,String,Map,String,boolean)}
 instead.
  +     * Use [EMAIL PROTECTED] 
org.apache.struts.taglib.TagUtils#computeURL(PageContext,String,String,String,String,String,Map,String,
 boolean)} instead.
        */
       public static String computeURL(
               PageContext pageContext,
  @@ -1305,7 +1351,7 @@
        * @exception MalformedURLException if a URL cannot be created
        *  for the specified parameters
        * @deprecated This will be removed after Struts 1.2.
  -     * Use [EMAIL PROTECTED] 
org.apache.struts.taglib.TagUtils#computeURL(PageContext,String,String,String,String,Map,String,boolean,boolean)}
 instead.
  +     * Use [EMAIL PROTECTED] 
org.apache.struts.taglib.TagUtils#computeURL(PageContext,String,String,String,String,String,Map,String,boolean,boolean)}
 instead.
        */
       public static String computeURL(
               PageContext pageContext,
  @@ -1576,7 +1622,7 @@
   
        * @return context-relative URL
        * @since Struts 1.1
  -     * @deprecated Use [EMAIL PROTECTED] 
org.apache.struts.taglib.TagUtils#pageURL(HttpServletRequest,String)} instead.
  +     * @deprecated Use [EMAIL PROTECTED] 
org.apache.struts.taglib.TagUtils#pageURL(HttpServletRequest request, String page, 
ModuleConfig moduleConfig)} instead.
        * This will be removed after Struts 1.2.
        */
       public static String pageURL(HttpServletRequest request, String page) {
  
  
  

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

Reply via email to