public abstract interface Response
Interface to response generated from a CustomTag. This interface includes methods for writing output, generating queries, and setting variables in the calling page.
Adds a query to the calling template. The query can be accessed by CFML tags in the template. After calling addQuery, the query is empty (it has 0 rows). To populate the query with data, call the Query member functions addRow and setData.
Returns the Query that was added to the template.
public Query addQuery(String name, String[] columns)
IllegalArgumentException - if the name parameter is not a valid CFML variable name
| Parameter | Description |
|---|---|
name |
The name of the query to add to the template |
| columns |
The column names to use in the query |
The following example adds a Query named 'People' to the calling template. The query has two columns ('FirstName' and 'LastName') and two rows:
// Create string array with column names (also track columns indexes)
String[] columns = { "FirstName", "LastName" } ;
int iFirstName = 1, iLastName = 2 ;
// Create a query which contains these columns
Query query = response.addQuery( "People", columns ) ;
// Add data to the query
int iRow = query.addRow() ;
query.setData( iRow, iFirstName, "John" ) ;
query.setData( iRow, iLastName, "Smith" ) ;
iRow = query.addRow() ;
query.setData( iRow, iFirstName, "Jane" ) ;
query.setData( iRow, iLastName, "Doe" ) ;
Sets a variable in the calling template. If the variable name specified exists in the template, its value is replaced. If it does not exist, a new variable is created.
public void setVariable(String name, String value)
IllegalArgumentException If the name parameter is not a valid CFML variable name
| Parameter | Description |
|---|---|
name |
The name of the variable to set |
| value |
The value to set the variable to |
For example, this code sets the value of a variable named 'MessageSent' based on the success of an operation performed by the custom tag:
boolean bMessageSent ;
...attempt to send the message...
if ( bMessageSent == true )
{
response.setVariable( "MessageSent", "Yes" ) ;
}
else
{
response.setVariable( "MessageSent", "No" ) ;
}
Outputs text back to the user.
public void write(String output)
| Parameter | Description |
|---|---|
output |
Text to output |
The following example outputs the value of the DESTINATION attribute:
response.write( "DESTINATION = " +
request.getAttribute("DESTINATION") ) ;
Writes text output into the debug stream. This text is displayed to the end-user only if the tag contains the DEBUG attribute (check for this attribute using the Request.debug member function).
public void writeDebug(String output)
| Parameter | Description |
|---|---|
output |
The text to output |
The following example checks whether the DEBUG attribute is present; if so, it writes a brief debug message:
if ( request.debug() )
{
response.writeDebug( "debug info" ) ;
}