- PR -

JSPでダウンロード機能を実装したいのですが。

投稿者投稿内容
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-08-08 09:21
JSP上で、決して最初に空行を入れていないにもかかわらず
最初に空行が入るのであれば、予測されるに
このJSP以外に出力を行っている部分があるのではないでしょうか。


kvip
会議室デビュー日: 2003/05/12
投稿数: 12
投稿日時: 2007-08-08 10:27
コンテナによって変換されたServletを確認してみてはいかがでしょうか。(xxx_jsp.java)
JSPといっても結局はServletなので。
naito
常連さん
会議室デビュー日: 2007/08/07
投稿数: 36
投稿日時: 2007-08-08 14:57
あすか様、kvip様返答ありがとうございます。

今サーブレットで作成したんですが、ダウンロード後、うまく先頭に表示できました。

JSPではいまだに先頭に余白ができてしまいます。
実はこのダウンロードの部分は、ページでフレーム分割された内の下の部分で呼び出しているのですが、これが影響しているのでしょうか?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-08-08 15:47
影響があるのか無いのかというのはHTTPで具体的に
どんなデータが流れているか確認すればはっきりするでしょうね。

JSPだとうまくいかない、というのもJSPの実際の姿、つまり
コンパイルされて出来上がったServletを見ればはっきりしてきます。

これらは通常は意識しなくていいように作られているわけですが、
このようなトラブルがあった場合は、そういったローレベルな
実装がどうなっているかを確認すると解決が早いです。
naito
常連さん
会議室デビュー日: 2007/08/07
投稿数: 36
投稿日時: 2007-08-09 12:56
nagise様、返答ありがとうございます。

kvip様の提示の通り、変換されたサーブレットをみてみたのですが、
以下のように、余白の分だけout.write("\n");が入力されていました。
原因はわかったのですが、これを解決するための方法がわかりません。

JSPのコードはこれ以上いじれないほど簡単にしたつもりです。
このサーブレットファイルの改行の部分を消して保存しても、実行するたびに改行のあるコードで上書きされてしまいます。

何か解決方法があれば是非教えていただきたいです。
よろしくお願いいたします。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-08-09 13:18
ServletResponse#reset()について調べると幸せになれるかもしれません。
99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2007-08-09 13:49
JSP trimSpaces または JSP 改行 で検索してください

Tomcat(バージョン不明)で
Web.xmlの<servlet>に<init-param>で指定を行う方法がありました
また
www.limy.org/program/tomcat/web_xml_2_4.html
JspServlet に trimSpaces を指定できるような記述がありました

■Tomcatの正式ドキュメントではどこに記載があるかまで確認していません
どなたか記述がある箇所わかりませんか?

スキルアップ/キャリアアップ(JOB@IT)