apache > cocoon
 

RequestParameter-Selector in Cocoon

RequestParameterSelector

NAME

request-parameter

WHAT

The RequestParameterSelector component is used to select appropriate sitemap processing depending on a request parameter value.

TYPE

Selector, Sitemap Component

BLOCK

Core

CLASS

org.apache.cocoon.selection.RequestParameterSelector

SINCE

Cocoon 2.0

CACHEABLE

not applicable

Description

The RequestParameterSelector tests the value of request parameter against the test attribute of the selector's when clause.

Usage

The RequestParameterSelector allows to control the sitemap processing depending on a request parameter.

Sitemap pipeline examples

The snippet below uses a RequestParameterSelector named request-parameter. It tests the value of request parameter named command against list, create; finally it has a otherwise clause.

<map:select type="request-parameter">
  <map:parameter name="parameter-name" value="command"/>
  <map:when test="list">
  ....
  </map:when>
  <map:when test="create">
  ...
  </map:when>
  ...
  <map:otherwise>
  ...
  </map:otherwise>
</map:select>
        

Sitemap component configuration example

The snippet below declares a RequestParameterSelector defining to use the request parameter command.

<map:selectors...
  <map:selector name="request-parameter" 
    src="org.apache.cocoon.selection.RequestParameterSelector"
    logger="sitemap.selector.requestparameter">
    
    <parameter-name>command</parameter-name>
  </map:selectors>
...

Configuration

The configuration section of RequestParameterSelector specifies the default name of the request parameter, used for testing.

Setup

Setting up a RequestParameterSelector includes

  • Defining an optional sitemap parameter named request-name, it overrides the parameter-name setting in the configuration section.
  • choosing the <map:when> test expressions, and a optional <map:otherwise> clause.

The test attribute of the <map:when> clause shall match the value of the request parameter. If no test value matches, or the request parameter is not defined at all, the <map:otherwise clause is selected.

Effect on Object Model and Sitemap Parameters

The RequestParameterSelector has no side effects on the object model, or any sitemap parameters.

Bugs/Caveats

History

28-12-02: initial creation

See also

A general documentation about selectors is available at Matchers and Selectors.