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