Apcoordinator ユーザーズガイド |
目次 |
第3部 Webアプリケーションの開発 | > 第16章 APIを使ったプログラミング | > 16.2 バイナリファイルの送受信 |
ダウンロードのための入力フォームでは、
package updown; public class DownloadServlet extends com.fujitsu.uji.http.UjiServlet { public DownloadServlet() { } }
action="download"
を追加します。ここで指定したdownloadはサーブレットの識別名で、任意に指定可能です。例ではダウンロードファイル名を固定にして隠し項目で作成しています。
データBean updown.DownloadParam
の作成については、一般的なWebcoordinatorアプリケーションと同じなので省略します。
ビジネスクラスでは、復帰値をvoidに代えてObjectとします。ダウンロードするファイルをFileクラスで返します。 復帰値がFile、InputStream、MimeSourceの場合は、ファイルとみなしてダウンロードを開始します。 復帰値がStringの場合は、エラー等を表示するための画面のJSPファイル名とみなします。ビジネスクラスでsetResponseBean等の処理をして
<FORM action="download"> <INPUT name="uji.verbs" type="hidden" value="download"> <INPUT name="uji.bean" type="hidden" value="updown.DownloadParam"> <INPUT name="file" type="hidden" value="downloadfilename"> <INPUT name="download" type="submit" value="ダウンロード"> </FORM>
uji:include
などを記述した(uji:dispatch
は書けません)JSPファイルを返すと、Webcoordinatorのアプリケーションに戻すことができます。
コマンドマップは一般的なWebcoordinatorアプリケーションと共用になります。
.... // public Object download(DispatchContext context, DownloadParam dataBean) { name = "c:\\downloadarea\\" + dataBean.getFile(); return new File(name); }
サーバに配置する場合はweb.xmlを編集し、サーブレットマッピングを定義します。web.xmlの詳細については、Webアプリケーション環境定義ファイル(web.xml)で説明します。 以下はdownloadというサーブレットを定義するため、servlet、servlet-mappingを追加しています。
updown.DownloadParam;download=updown.UploadHandler.download
<web-app> <servlet> <servlet-name>download</servlet-name> <servlet-class>updown.DownloadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>download</servlet-name> <url-pattern>/download</url-pattern> </servlet-mapping> </web-app>
目次 |