ClassName

atg.targeting.TargetingArray

Component

/atg/targeting/TargetingArray

The TargetingArray servlet bean performs a targeting operation with the help of its targeter and sourceMap parameters, and sets the output elements parameter to the resulting array of target objects. The TargetingArray servlet bean is the most general form of targeting servlet bean. It returns all of the content items that satisfy the targeter’s rules, but does not format the output. You should use the TargetingArray servlet bean with another ATG Servlet Bean, such as the ForEach servlet bean, to specify formatting for each of the content items returned by the targeting operation. The TargetingArray servlet bean’s output parameter contains the inner formatting servlet bean.

Input Parameters

targeter
The targeter service that performs the targeting operation. Must be an instance of a class that implements the Targeter interface, such as atg.targeting.DynamicContentTargeter.

filter
Specifies an optional filter service that filters the items returned by the targeter before they are output. Must be an instance of a class that implements the ItemFilter interface, such as atg.targeting.conflict.TopicHistoryConflictFilter.

sourceMap
Represents a mapping between names of source objects associated with a targeting operation and their values. Must be an instance of atg.targeting.TargetingSourceMap. If this parameter is omitted, the source Map specified by the servlet bean’s defaultSourceMap property is used. (By default, the value of this property is /atg/targeting/TargetingSourceMap.)

sortProperties
Specifies the display order of result set elements. See
Sorting Results in the Serving Targeted Content with ATG Servlet Beans chapter for information about how to specify this parameter, and for information about the relationship between sorting performed by the targeter and sorting performed by the servlet bean.

Output Parameter

elements
This output parameter is set to the results of the targeting operation, an array of items from the Repository.

Open Parameters

output
The parameter to render. You should nest a formatting ATG Servlet Bean, such as the ForEach servlet bean, in the output parameter to display the output of the targeting operation.

empty
This optional parameter is rendered if the targeting operation returns no matching items.

Example

This example displays all of the ski resorts returned from the targeting result set. It uses the ForEach servlet bean to display the output. For each resort, the JSP containing this servlet bean displays the name (in a hypertext link) and an image. Note that this example is identical in output to the TargetingForEach Example; you are more likely to use the TargetingArray servlet bean with your own customized ATG Servlet Bean instead of a basic servlet bean like ForEach.

<%-- outer ATG Servlet Bean obtains the targeted content --%>
<dsp:droplet name="/atg/targeting/TargetingArray">
  <dsp:param name="targeter"
  bean="/atg/registry/RepositoryTargeters/TargetedContent/SkiResortTargeter"/>
  <dsp:oparam name="output">
    <%-- inner ATG Servlet Bean displays the results --%>
    <dsp:droplet name="/atg/dynamo/droplet/ForEach">
      <dsp:param name="array" param="elements"/>
      <dsp:param name="sortProperties" value="+displayName"/>
      <dsp:oparam name="output">
        <dsp:getvalueof var="URL" param="element.URL"
        idtype="java.lang.String"/>
          <dsp:a href="${URL}">
            <dsp:valueof param="element.displayName"/>
          </dsp:a>
        <dsp:getvalueof var="image" param="element.image"
        idtype="java.lang.String"/>
          <img src="${image}"/>
        <p>
      </dsp:oparam>
    </dsp:droplet>
  </dsp:oparam>
</dsp:droplet>
 
loading table of contents...