|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.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
public abstract class AbstractFileDownloadView
バイナリファイルをダウンロードする際に利用する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 |
| フィールドの詳細 |
|---|
protected int chunkSize
| コンストラクタの詳細 |
|---|
public AbstractFileDownloadView()
| メソッドの詳細 |
|---|
protected void renderMergedOutputModel(Map model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws IOException
org.springframework.web.servlet.view.AbstractView 内の renderMergedOutputModelmodel - モデルオブジェクトrequest - HTTPリクエストresponse - HTTPレスポンス
IOException - IO例外
protected abstract InputStream getInputStream(Map model,
javax.servlet.http.HttpServletRequest request)
throws IOException
model - モデルオブジェクトrequest - HTTPリクエスト
IOException - 入出力例外
protected void writeResponseStream(InputStream inputStream,
OutputStream outputStream)
throws IOException
inputStream - ダウンロードするファイルデータの入力ストリームoutputStream - レスポンスの出力ストリーム
IOException - 入出力例外(例外処理は呼び元で行う)
protected abstract void addResponseHeader(Map model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
model - モデルオブジェクトrequest - HTTPリクエストresponse - HTTPレスポンス
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||