昨日うまく変数が渡せていなかったのは、" できちんと囲ってなかったせいでした。ちゃんちゃん。
ちなみにサーブレットをCSVに返信させる魔法のコードはこれ。
response.setContentType("application/octet-stream;charset=Shift_JIS");
response.setHeader("Content-Dispsition","attachment;filename=hoge.csv");
なあんにも考えず、この2行をサーブレットの頭に付けたらできます。いやっほい♪
しかし問題発生。サーバー経由でクライアントからダウンロードしようとしたら、エラー。
「Internet Explorerではドメイン名-ファイル名をダウンロードできません。このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。後でやり直して下さい。」
…後でやり直しても自分でコード何とかしないとダウンロードできないわけで。
スタンドアロンだと問題なくダウンロード出来たから、どうやらサーバーとクライアント間の通信に原因がありそう。
そう、このシステム、SSL通信使ってるんだ…!
こんなときは、さっきのコードの下に以下の2行を追加。
response.setHeader("Pragma","public");
response.setHeader("Catch-Control","public");
これで無事クライアントからもダウンロードできました。
最近問題がサクサク解決していくので、愉快。
ちなみにサーブレットをCSVに返信させる魔法のコードはこれ。
response.setContentType("application/octet-stream;charset=Shift_JIS");
response.setHeader("Content-Dispsition","attachment;filename=hoge.csv");
なあんにも考えず、この2行をサーブレットの頭に付けたらできます。いやっほい♪
しかし問題発生。サーバー経由でクライアントからダウンロードしようとしたら、エラー。
「Internet Explorerではドメイン名-ファイル名をダウンロードできません。このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。後でやり直して下さい。」
…後でやり直しても自分でコード何とかしないとダウンロードできないわけで。
スタンドアロンだと問題なくダウンロード出来たから、どうやらサーバーとクライアント間の通信に原因がありそう。
そう、このシステム、SSL通信使ってるんだ…!
こんなときは、さっきのコードの下に以下の2行を追加。
response.setHeader("Pragma","public");
response.setHeader("Catch-Control","public");
これで無事クライアントからもダウンロードできました。
最近問題がサクサク解決していくので、愉快。