When your ATG servlet bean displays an open parameter, that open parameter can itself contain dynamic elements such as dsp:valueof and dsp:droplet tags. As always, when a dynamic element contained in an open parameter is displayed, it draws from the list of visible parameters to display its own dynamic elements.

The parameters visible to those elements are the same as the parameters visible to the dsp:droplet tag. For example:

<%@ taglib uri="/dspTaglib" prefix="dsp" %>

  <title>Store Test</title>

<body bgcolor="#ffffff">
  <h1>Store Test</h1>

<dsp:droplet name="/test/DSBTest2">
  <dsp:param name="goods" value="Lingerie"/>
  <dsp:oparam name="storename">
    <h1>Joe's <dsp:valueof param="goods"></dsp:valueof></h1>



In this example, the storename parameter includes a dsp:valueof element that displays the value of goods. The DSBTest2 object can display this by calling serviceParameter. When it is displayed, the dsp:valueof tag looks through the visible parameters for a parameter called goods. Because that parameter is defined in the dsp:droplet call, that parameter is visible to the dsp:valueof tag and is therefore used. Remember that the parameter would be visible if it were defined as a top-level parameter, or if this page were itself included by some other dsp:droplet tag that defined the goods parameter.

The ATG servlet bean can also add or change parameters that are visible to displayed elements. This is done by calling setParameter(). For example, the ATG servlet bean can set the goods parameter in code:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import atg.servlet.*;

public class DSBTest3 extends DynamoServlet {
  public DSBTest3 () {}

public void service (DynamoHttpServletRequest request,
                     DynamoHttpServletResponse response)
     throws ServletException, IOException
  request.setParameter ("goods", "Golf Balls");
  request.serviceParameter ("storename", request, response);

The setParameter call brings the goods parameter with value Golf Balls into the list of parameters that are visible to displayed objects. If a goods parameter is already visible, this shadows the original definition of the parameter. The original definition of the parameter returns after this method finishes execution.