org.springframework.web.servlet.view.jasperreports

## Class ConfigurableJasperReportsView

- java.lang.Object
- - org.springframework.context.support.ApplicationObjectSupport
  - - org.springframework.web.context.support.WebApplicationObjectSupport
    - - org.springframework.web.servlet.view.AbstractView
      - - org.springframework.web.servlet.view.AbstractUrlBasedView
        - - org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView
          - - org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView
            - - org.springframework.web.servlet.view.jasperreports.ConfigurableJasperReportsView

- All Implemented Interfaces:
    Aware, BeanNameAware, InitializingBean, ApplicationContextAware, ServletContextAware, View

      public class ConfigurableJasperReportsView
      extends AbstractJasperReportsSingleFormatView

  Configurable JasperReports View, allowing to specify the JasperReports exporter to be specified through bean properties rather than through the view class name.
  Since:
    2.0
  Author:
    Rob Harrop
  See Also:
    `JasperReportsCsvView`, `JasperReportsHtmlView`, `JasperReportsPdfView`, `JasperReportsXlsView`

- - ### Field Summary

    - ### Fields inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView

      `CONTENT_DISPOSITION_INLINE, HEADER_CONTENT_DISPOSITION`

    - ### Fields inherited from class org.springframework.web.servlet.view.AbstractView

      `DEFAULT_CONTENT_TYPE`

    - ### Fields inherited from class org.springframework.context.support.ApplicationObjectSupport

      `logger`

    - ### Fields inherited from interface org.springframework.web.servlet.View

      `PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConfigurableJasperReportsView()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected net.sf.jasperreports.engine.JRExporter` | `createExporter()` Returns a new instance of the specified `JRExporter` class.
    `protected void` | `onInit()` Checks that the `exporterClass` property is specified.
    `void` | `setExporterClass(Class<? extends net.sf.jasperreports.engine.JRExporter> exporterClass)` Set the `JRExporter` implementation `Class` to use.
    `void` | `setUseWriter(boolean useWriter)` Specifies whether or not the `JRExporter` writes to the `PrintWriter` of the associated with the request (`true`) or whether it writes directly to the `InputStream` of the request (`false`).
    `protected boolean` | `useWriter()` Indicates how the `JRExporter` should render its data.

    - ### Methods inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView

      `generatesDownloadContent, renderReport, renderReportUsingOutputStream, renderReportUsingWriter`

    - ### Methods inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView

      `convertExporterParameters, convertParameterValue, convertReportData, convertToExporterParameter, createReport, exposeLocalizationContext, fillReport, getConvertedExporterParameters, getExporterParameter, getExporterParameters, getJdbcDataSource, getReport, getReportData, getReportDataTypes, initApplicationContext, isUrlRequired, loadReport, loadReport, postProcessReport, renderMergedOutputModel, setConvertedExporterParameters, setExporterParameters, setHeaders, setJdbcDataSource, setReportDataKey, setSubReportDataKeys, setSubReportUrls`

    - ### Methods inherited from class org.springframework.web.servlet.view.AbstractUrlBasedView

      `afterPropertiesSet, checkResource, getUrl, setUrl, toString`

    - ### Methods inherited from class org.springframework.web.servlet.view.AbstractView

      `addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponse`

    - ### Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport

      `getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext`

    - ### Methods inherited from class org.springframework.context.support.ApplicationObjectSupport

      `getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ConfigurableJasperReportsView

          public ConfigurableJasperReportsView()

  - ### Method Detail

    - #### setExporterClass

          public void setExporterClass(Class<? extends net.sf.jasperreports.engine.JRExporter> exporterClass)

      Set the `JRExporter` implementation `Class` to use. Throws `IllegalArgumentException` if the `Class` doesn't implement `JRExporter`. Required setting, as it does not have a default.

    - #### setUseWriter

          public void setUseWriter(boolean useWriter)

      Specifies whether or not the `JRExporter` writes to the `PrintWriter` of the associated with the request (`true`) or whether it writes directly to the `InputStream` of the request (`false`). Default is `true`.

    - #### onInit

          protected void onInit()

      Checks that the `exporterClass` property is specified.
      Overrides:
        `onInit` in class `AbstractJasperReportsView`
      See Also:
        `AbstractJasperReportsView.initApplicationContext()`

    - #### createExporter

          protected net.sf.jasperreports.engine.JRExporter createExporter()

      Returns a new instance of the specified `JRExporter` class.
      Specified by:
        `createExporter` in class `AbstractJasperReportsSingleFormatView`
      See Also:
        `setExporterClass(Class)`, `BeanUtils.instantiateClass(Class)`

    - #### useWriter

          protected boolean useWriter()

      Indicates how the `JRExporter` should render its data.
      Specified by:
        `useWriter` in class `AbstractJasperReportsSingleFormatView`
      See Also:
        `setUseWriter(boolean)`