- PR -

<jsp:include〜>のあとが実行されない?のですが…

1
投稿者投稿内容
めぐりん
会議室デビュー日: 2004/10/01
投稿数: 5
投稿日時: 2004-10-12 17:48
<jsp:include〜>で外部ファイルをインクルードして表示させたいのですが、
インクルード後に書いているもの(下記サンプルの場合はbbbbb)が表示されません。
こういう仕様なのか、もしくはサーブレットをインクルードしようとしているからな
のか、それ以外の理由で私の書き方が悪いのか分かりません。
申し訳ありませんがどなたかご教授願います。(ちなみにインクルードしている
サーブレットは、カレンダーの表示を行います)

<%@ page contentType="text/html; charset=Shift_JIS" language="java" errorPage=""%>
<html>
 <head>
  <title>表示したい月を選ぶ</title>
 </head>
 <body>
  <center>aaaaa
   <form method="post" action="calendarsample.jsp">
    <jsp:include page="servlet/DisplayTestServlet" />
   </form>bbbbb
  </center>
 </body>
</html>

※仮に<jsp:include〜>のところを<input type="submit" name="get" value="get">
と普通のサブミットボタンにしてみたところ、</form>以下のbbbbbは表示されました。


raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2004-10-12 18:42
LOGにJSPエラーは出力されていませんか?

includeタグは forward がコミットされると怒ったと思います。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-10-12 20:09
レスポンスがinclude先でcloseされているということはないでしょうか?
まずシンプルな HelloWorld 的なサーブレットを include できるか試してみましょう。
それができたらカレンダーのサーブレットとの違いを見つければよいかと。
めぐりん
会議室デビュー日: 2004/10/01
投稿数: 5
投稿日時: 2004-10-13 10:13
raystarさん、インギさん、ご教授有難うございます。
>raystarさん
すみません、特にエラーらしきものを発見できなかったもので…−−;
私が見落としているのかもしれないのですが。
>インギさん
incoude先のサーブレットで
PrintWriter pw = response.getWriter();
 pw.println("<table>");
  〜中略〜
 pw.flush();
 pw.close();
としていたので、とりあえずpw.close();をはずして実行してみたところ
上手くいきました^^;
まだまだやり始めたばかりで本に書いてあったものを色々いじって作って
いるもので・・・申し訳ありませんでした。
ところで上記のような書き方をしている場合、pw.close();ははずしたま
までもよろしいのでしょうか?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-10-13 14:37
レスポンスに含めるべき内容がまだあるのであれば close するべきでありません。
明示的な flush もさけた方がよいでしょう。
http://edocs.beasys.co.jp/e-docs/wls/docs81/servlet/progtasks.html#sendresponse
1

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