jp.terasoluna.fw.web.rich.springmvc.servlet.view.filedownload
クラス AbstractFileDownloadView

java.lang.Object
  上位を拡張 org.springframework.context.support.ApplicationObjectSupport
      上位を拡張 org.springframework.web.context.support.WebApplicationObjectSupport
          上位を拡張 org.springframework.web.servlet.view.AbstractView
              上位を拡張 jp.terasoluna.fw.web.rich.springmvc.servlet.view.filedownload.AbstractFileDownloadView
すべての実装されたインタフェース:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationContextAware, org.springframework.web.context.ServletContextAware, org.springframework.web.servlet.View

public abstract class AbstractFileDownloadView
extends org.springframework.web.servlet.view.AbstractView

バイナリファイルをダウンロードする際に利用するView抽象クラス。

バリナリデータをレスポンスに書き込む。 必要に応じて、 レスポンスボディに書き込むストリームの取得処理と、 サブクラスにて、レスポンスヘッダの情報設定処理を実装すること。

本クラスの実装クラスを利用する場合、まず、ResourceBundleViewResolverをBean定義すること。

【Bean定義ファイルの設定例】

   <bean id="fileDownloadViewResolver"
       class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
     <property name="basename" value="views"/>
   </bean>
 

次に、バイナリデータをレスポンスとするコントローラのBean定義で、 property「viewName」を定義すること。

【Bean定義ファイルの設定例】

   <id name="fileDownloadSampleController"
           class="jp.terasoluna.sample2.web.controller.FileDownloadSampleController"
           parent="queryRequestController" scope="singleton">
   <property name="viewName"><value>FileDownloadSample</value></property>
  
 

さらに、fileDownloadViewResolverの属性basenameのプロパティファイル(上記の設定の場合、view.properties)に、 「<コントローラのBean定義の属性viewNameプロパティ値>.class」のキーで 実行するViewクラスを指定すること。

【view.propertiesの設定例】

   FileDownloadSample.class=jp.terasoluna.sample2.web.view.SampleFileDownloadView
 


フィールドの概要
protected  int chunkSize
          チャンクサイズ。
 
クラス org.springframework.web.servlet.view.AbstractView から継承されたフィールド
DEFAULT_CONTENT_TYPE
 
クラス org.springframework.context.support.ApplicationObjectSupport から継承されたフィールド
logger
 
インタフェース org.springframework.web.servlet.View から継承されたフィールド
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE
 
コンストラクタの概要
AbstractFileDownloadView()
           
 
メソッドの概要
protected abstract  void addResponseHeader(Map model, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          レスポンスヘッダを追加する。
protected abstract  InputStream getInputStream(Map model, javax.servlet.http.HttpServletRequest request)
          レスポンスボディに書き込むストリームを取得する。
protected  void renderMergedOutputModel(Map model, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          レスポンスをレンダリングする。
protected  void writeResponseStream(InputStream inputStream, OutputStream outputStream)
          ダウンロードファイルをHTTPレスポンスのストリームに書き込む。
 
クラス org.springframework.web.servlet.view.AbstractView から継承されたメソッド
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposePathVariables, setRequestContextAttribute, toString, writeToResponse
 
クラス org.springframework.web.context.support.WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
 
クラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

chunkSize

protected int chunkSize
チャンクサイズ。

コンストラクタの詳細

AbstractFileDownloadView

public AbstractFileDownloadView()
メソッドの詳細

renderMergedOutputModel

protected void renderMergedOutputModel(Map model,
                                       javax.servlet.http.HttpServletRequest request,
                                       javax.servlet.http.HttpServletResponse response)
                                throws IOException
レスポンスをレンダリングする。

定義:
クラス org.springframework.web.servlet.view.AbstractView 内の renderMergedOutputModel
パラメータ:
model - モデルオブジェクト
request - HTTPリクエスト
response - HTTPレスポンス
例外:
IOException - IO例外

getInputStream

protected abstract InputStream getInputStream(Map model,
                                              javax.servlet.http.HttpServletRequest request)
                                       throws IOException
レスポンスボディに書き込むストリームを取得する。

パラメータ:
model - モデルオブジェクト
request - HTTPリクエスト
戻り値:
リクエストに書き込むためのストリーム
例外:
IOException - 入出力例外

writeResponseStream

protected void writeResponseStream(InputStream inputStream,
                                   OutputStream outputStream)
                            throws IOException
ダウンロードファイルをHTTPレスポンスのストリームに書き込む。

パラメータ:
inputStream - ダウンロードするファイルデータの入力ストリーム
outputStream - レスポンスの出力ストリーム
例外:
IOException - 入出力例外(例外処理は呼び元で行う)

addResponseHeader

protected abstract void addResponseHeader(Map model,
                                          javax.servlet.http.HttpServletRequest request,
                                          javax.servlet.http.HttpServletResponse response)
レスポンスヘッダを追加する。

パラメータ:
model - モデルオブジェクト
request - HTTPリクエスト
response - HTTPレスポンス


Copyright © 2012. All Rights Reserved.