org.apache.cocoon.acting
Class RequestParamAction
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.acting.AbstractAction
org.apache.cocoon.acting.ServiceableAction
org.apache.cocoon.acting.RequestParamAction
- All Implemented Interfaces:
- Component, LogEnabled, Serviceable, ThreadSafe, Action
public class RequestParamAction
- extends 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:
- CVS $Id: RequestParamAction.html 1304258 2012-03-23 10:09:27Z ilgrosso $
- Author:
- Marcus Crafter, Torsten Curdt
Fields inherited from interface org.apache.cocoon.acting.Action |
ROLE |
Method Summary |
Map |
act(Redirector redirector,
SourceResolver resolver,
Map objectModel,
String source,
Parameters param)
Controls the processing against some values of the
Dictionary objectModel and returns a
Map object with values used in subsequent
sitemap substitution patterns. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
RequestParamAction
public RequestParamAction()
act
public Map act(Redirector redirector,
SourceResolver resolver,
Map objectModel,
String source,
Parameters param)
throws Exception
- Description copied from interface:
Action
- Controls the processing against some values of the
Dictionary
objectModel and returns a
Map
object with values used in subsequent
sitemap substitution patterns.
NOTE: This interface is designed so that implentations can be ThreadSafe.
When an action is ThreadSafe, only one instance serves all requests : this
reduces memory usage and avoids pooling.
- Specified by:
act
in interface Action
resolver
- The SourceResolver
in chargeobjectModel
- The Map
with object of the
calling environment which can be used
to select values this controller may need
(ie Request, Response).source
- A source String
to the Actionparam
- The Parameters
for this invocation
- Returns:
- Map The returned
Map
object with
sitemap substitution values which can be used
in subsequent elements attributes like src=
using a xpath like expression: src="mydir/{myval}/foo"
If the return value is null the processing inside
the element of the sitemap will
be skipped.
- Throws:
Exception
- Indicates something is totally wrong
Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.