org.apache.cocoon.acting
Class RequestParamAction

java.lang.Object
  extended byorg.apache.cocoon.util.AbstractLogEnabled
      extended byorg.apache.cocoon.acting.AbstractAction
          extended byorg.apache.cocoon.acting.ServiceableAction
              extended byorg.apache.cocoon.acting.RequestParamAction
All Implemented Interfaces:
org.apache.cocoon.acting.Action, Serviceable, ThreadSafe

public class RequestParamAction
extends org.apache.cocoon.acting.ServiceableAction
implements ThreadSafe

This action makes some request details available to the sitemap via parameter substitution. {context} - is the context path of the servlet (usually "/cocoon") {requestURI} - is the requested URI without parameters {requestQuery} - is the query string like "?param1=test" if there is one Additionlly all request parameters can be made available for use in the sitemap. if the parameter "parameters" is set to true. (A variable is created for each request parameter (only if it doesn't exist) with the same name as the parameter itself) Default values can be set for request parameters, by including sitemap parameters named "default.". Sitemap definition:

 <map:action name="request" src="org.apache.cocoon.acting.RequestParamAction"/>
 

Example use:

 <map:match pattern="some-resource">
  <map:act type="request">
     <map:parameter name="parameters" value="true"/>
     <map:parameter name="default.dest" value="invalid-destination.html"/>
     <map:redirect-to uri="{context}/somewhereelse/{dest}"/>
  </map:act>
 </map:match>
 
Redirection is only one example, another use:
 <map:match pattern="some-resource">
  <map:act type="request">
     <map:parameter name="parameters" value="true"/>
     <map:generate src="users/menu-{id}.xml"/>
  </map:act>
  <map:transform src="menus/personalisation.xsl"/>
  <map:serialize/>
 </map:match>
 
etc, etc.

Version:
$Id: RequestParamAction.html 1304280 2012-03-23 11:18:01Z ilgrosso $

Field Summary
static String MAP_CONTEXTPATH
           
static String MAP_QUERY
           
static String MAP_URI
           
static String PARAM_DEFAULT_PREFIX
           
static String PARAM_PARAMETERS
           
 
Fields inherited from class org.apache.cocoon.acting.ServiceableAction
manager
 
Fields inherited from class org.apache.cocoon.acting.AbstractAction
EMPTY_MAP
 
Fields inherited from interface org.apache.cocoon.acting.Action
ROLE
 
Constructor Summary
RequestParamAction()
           
 
Method Summary
 Map act(org.apache.cocoon.environment.Redirector redirector, org.apache.cocoon.environment.SourceResolver resolver, Map objectModel, String source, Parameters param)
           
 
Methods inherited from class org.apache.cocoon.acting.ServiceableAction
service
 
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled
getLogger, setLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAP_URI

public static final String MAP_URI
See Also:
Constant Field Values

MAP_QUERY

public static final String MAP_QUERY
See Also:
Constant Field Values

MAP_CONTEXTPATH

public static final String MAP_CONTEXTPATH
See Also:
Constant Field Values

PARAM_PARAMETERS

public static final String PARAM_PARAMETERS
See Also:
Constant Field Values

PARAM_DEFAULT_PREFIX

public static final String PARAM_DEFAULT_PREFIX
See Also:
Constant Field Values
Constructor Detail

RequestParamAction

public RequestParamAction()
Method Detail

act

public Map act(org.apache.cocoon.environment.Redirector redirector,
               org.apache.cocoon.environment.SourceResolver resolver,
               Map objectModel,
               String source,
               Parameters param)
        throws Exception
Specified by:
act in interface org.apache.cocoon.acting.Action
Throws:
Exception


Copyright © 1999-2008 The Apache Software Foundation. All Rights Reserved.