[Seasar-user:2599] Re: S2JSFでのファイルダウンロード

yone@abby.co.jp yone
2005年 9月 22日 (木) 17:40:45 JST


米林です


下記について再確認したいのですが、何も起こさなかったというのは
downloadFile メソッドが実行されていないという事でしょうか?
downloadFile メソッドにデバッグを出力した場合
出力されますでしょうか?

downloadFile メソッド自体が実行されていないのであれば
原因は別にあって、リンクより action が実行されていないという事になりそうですね。

> 開発環境:
>  ・MyFaces1.1
>  ・TOMCAT5
> シナリオ:
>  画面表示用のBeanにファイルデータがUploadedFileオブジェクトとして保持してい
> ます。
>  画面上にファイル名をクリックしてファイルダウンロードする処理です。
> 画面処理:
>      <a  m:action="#{xxxxAction.downloadFile}">
>        <span m:value="#{bean.tenpuFileName}">添付ファイル名</span>
>        <span m:inject="f:param" m:name="fileData"
> m:value="#{bean.tenpuFileData}"/>
>      </a>
>
> 下記のメソッドを実行して何にも(エラーも)起こさなかったで終了しました。

> > > public String downloadFile() {
> > >
> > > // TODO 自動生成されたメソッド・スタブ
> > > ExternalContext context =
> > > FacesContext.getCurrentInstance().getExternalContext();
> > > HttpServletResponse response = (HttpServletResponse)
> > > context.getResponse();
> > > response.setContentType("any mime type");
> > > try {
> > > ServletOutputStream out = response.getOutputStream();
> > > out.write(fileData.getBytes());
> > > out.flush();
> > > out.close();
> > > FacesContext.getCurrentInstance().responseComplete();
> > > }
> > > catch (IOException ex) {
> > > ex.printStackTrace();
> > > }
> > > return "success";
> > > }




Seasar-user メーリングリストの案内