[Seasar-user:19569] Re: ダウンロード処理について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2010年 3月 27日 (土) 00:00:00 JST
小林 (koichik) です.
Date: Fri, 26 Mar 2010 22:17:31 +0900
From: tkitazawa <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19568] ダウンロード処理について
> Pageクラスの1つの実行処理にて、ファイルダウンロードと
> 画面の再描画を行ないたいのですが、何か方法はありませんでしょうか?
HTTP でリダイレクトするのではなく,再描画する
画面の中の <meta> 要素でリダイレクトしては
いかがでしょうか.
ただし,Teeda でレイアウトを使っていると
<head> の内容を動的に変更するのは困難なので,
文法的にはアレですが <body> の中に <meta> を
書いた方が簡単です.
例えばダウンロードを要求する画面 (ここでは
xxx.html とします) の HTML に
<body>
<span id="isDownload">
<meta http-equiv="Refresh" content="0;URL=yyy.html" />
</span>
...
と入れておいて,XxxPage クラスでは
public boolean download;
というプロパティを用意して,ダウンロードを
する場合に do〜() メソッドの中で true にします.
そして YyyPage クラスの prerender() で
ダウンロードコンテンツを流します.
XxxPage と YyyPage は同じサブアプリケーションに
して,必要な情報は @SubapplicationScope で
引き継ぐようにしてください.
> facesContext.responseComplete();でエラーは抑止できますが、
> 敢えて記載しておきます。
何をやったのか具体的に書かずにスタックトレースだけ
記載されてもどうしようもありません.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内