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" ) ; }