## org.apache.taglibs.standard.tag.common.sql
Class QueryTagSupport

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          javax.servlet.jsp.tagext.BodyTagSupport
              org.apache.taglibs.standard.tag.common.sql.QueryTagSupport

All Implemented Interfaces:
  Serializable, SQLExecutionTag, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally

Direct Known Subclasses:
  QueryTag, QueryTag

    public abstract class QueryTagSupport

extends BodyTagSupport
implements TryCatchFinally, SQLExecutionTag

Tag handler for <Query> in JSTL.

Author:
  Hans Bergsten, Justyna Horwat
See Also:
  Serialized Form

Field Summary
`protected boolean` `dataSourceSpecified`
`protected int` `maxRows`
`protected boolean` `maxRowsSpecified`
`protected Object` `rawDataSource`
`protected String` `sql`
`protected int` `startRow`

Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
`bodyContent`

Fields inherited from class javax.servlet.jsp.tagext.TagSupport
`id, pageContext`

Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
`EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
`EVAL_BODY_AGAIN`

Fields inherited from interface javax.servlet.jsp.tagext.Tag
`EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

Constructor Summary
`QueryTagSupport()`

Method Summary
`void` `addSQLParameter(Object o)` Called by nested parameter elements to add PreparedStatement parameter values.
`void` `doCatch(Throwable t)` Just rethrows the Throwable.
`int` `doEndTag()` Execute the SQL statement, set either through the `sql` attribute or as the body, and save the result as a variable named by the `var` attribute in the scope specified by the `scope` attribute, as an object that implements the Result interface.
`void` `doFinally()` Close the `Connection`, unless this action is used as part of a transaction.
`int` `doStartTag()` Prepares for execution by setting the initial state, such as getting the `Connection`
`void` `setScope(String scopeName)` Setter method for the scope of the variable to hold the result.
`void` `setVar(String var)` Setter method for the name of the variable to hold the result.

Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
`doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

Methods inherited from class javax.servlet.jsp.tagext.TagSupport
`findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface javax.servlet.jsp.tagext.Tag
`getParent, setPageContext, setParent`

Field Detail

### rawDataSource

    protected Object rawDataSource

### dataSourceSpecified

    protected boolean dataSourceSpecified

### sql

    protected String sql

### maxRows

    protected int maxRows

### maxRowsSpecified

    protected boolean maxRowsSpecified

### startRow

    protected int startRow

Constructor Detail

### QueryTagSupport

    public QueryTagSupport()

Method Detail

### setVar

    public void setVar(String var)

  Setter method for the name of the variable to hold the result.

### setScope

    public void setScope(String scopeName)

  Setter method for the scope of the variable to hold the result.

### addSQLParameter

    public void addSQLParameter(Object o)

  Called by nested parameter elements to add PreparedStatement parameter values.

  Specified by:
    `addSQLParameter` in interface `SQLExecutionTag`
  Parameters:
    `o` - the `PreparedStatement` parameter value

### doStartTag

    public int doStartTag()
                   throws JspException

  Prepares for execution by setting the initial state, such as getting the `Connection`

  Specified by:
    `doStartTag` in interface `Tag`
  Overrides:
    `doStartTag` in class `BodyTagSupport`
  Returns:
    EVAL_BODY_BUFFERED
  Throws:
    `JspException` - if an error occurred while processing this tag
  See Also:
    `Tag.doStartTag()`

### doEndTag

    public int doEndTag()
                 throws JspException

  Execute the SQL statement, set either through the `sql` attribute or as the body, and save the result as a variable named by the `var` attribute in the scope specified by the `scope` attribute, as an object that implements the Result interface.

  The connection used to execute the statement comes either from the `DataSource` specified by the `dataSource` attribute, provided by a parent action element, or is retrieved from a JSP scope attribute named `javax.servlet.jstl.sql.dataSource`.

  Specified by:
    `doEndTag` in interface `Tag`
  Overrides:
    `doEndTag` in class `BodyTagSupport`
  Returns:
    EVAL_PAGE
  Throws:
    `JspException` - if an error occurred while processing this tag
  See Also:
    `Tag.doEndTag()`

### doCatch

    public void doCatch(Throwable t)
                 throws Throwable

  Just rethrows the Throwable.

  Specified by:
    `doCatch` in interface `TryCatchFinally`
  Parameters:
    `t` - The throwable exception navigating through this tag.
  Throws:
    `Throwable` - if the exception is to be rethrown further up the nest chain.

### doFinally

    public void doFinally()

  Close the `Connection`, unless this action is used as part of a transaction.

  Specified by:
    `doFinally` in interface `TryCatchFinally`

Copyright © 2007 Mort Bay Consulting. All Rights Reserved.