code: public String getRewrittenActionURI( String actionName, Map parameters, boolean asValidXml )
              throws URISyntaxException
      {
          if ( _perRequestState == null )
          {
              throw new IllegalStateException( "getRewrittenActionURI was called outside of a valid context." );
          }
          ServletContext servletContext = getServletContext();
          HttpServletRequest request = getRequest();
          HttpServletResponse response = getResponse();
  
          return PageFlowUtils.getRewrittenActionURI( servletContext, request, response,
                                                      actionName, parameters, null, asValidXml );
      }
docs: Create a fully-rewritten URI given an action and parameters.
  
  @param actionName the action name to convert into a fully-rewritten URI; may be qualified with a path from the
  webapp root, in which case the parent directory from the current request is <i>not</i> used.
  @param parameters the additional parameters to include in the URI query.
  @param asValidXml flag indicating that the query of the uri should be written
  using the &quot;&amp;amp;&quot; entity, rather than the character, '&amp;'
  @return a fully-rewritten URI for the given action.
  @throws URISyntaxException    if there is a problem converting the action url (derived
  from processing the given action name) into a URI.
  @throws IllegalStateException if this method is invoked outside of action method
  execution (i.e., outside of the call to {@link FlowController#execute},
  and outside of {@link FlowController#onCreate},
  {@link FlowController#beforeAction}, {@link FlowController#afterAction}.