- PR -

JSPのコンパイルエラーが表示されない(Tiles利用)

1
投稿者投稿内容
ぬべたそ
ベテラン
会議室デビュー日: 2003/12/18
投稿数: 72
投稿日時: 2006-08-22 06:36
いつも参考にさせて頂いています。
以下の環境で開発を行っていますが、件名のような現象が発生し困っています。
以前のプロジェクトでは、JSPの記述に問題がある場合は
ブラウザ上にエラー内容が表示されていました。
(例えば、ActionFormの名前 name属性を間違えた場合など)
しかし、今回はブラウザ上にエラーが表示されません。

Tilesを利用せずに直接JSPを呼び出す場合は、500のレスポンスで
ブラウザ上にJSPのエラー内容が表示されます。
Tilesを利用した場合は、エラーが発生したJSPが全くの空白になってしまい、
Tilesの処理がその部分で止まってしまうようで、layout用のJSPのtableタグ内の続きが無くなってしまい、ページが真っ白になってしまいます。

【環境】
・struts1.2
・tiles1.1
・tomcat5.0.28
・Eclipse3.0
・Java 1.4.2_08

何かご存知の方がいらっしゃいましたら、ご教授をお願い致します。

nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-08-22 09:24
jsp:includeの類ではよくある現象ですね。

HTTPの通信を始めてしまったら途中でまったをかけて
エラーページに差し替えることは原理上できないので、
書き出すデータを溜めておいてエラーが発生しなかったことを
確認してからブラウザにデータを送信する、
というような動作をしています。

エラーが発生した場合は、中途半端に出来上がったHTMLを捨てて
エラーページを書き出す、と。
Tilesなど、複数のJSPを組み合わせるような場合だと、
こういった処理ができずにエラーページを表示できないことがあります。

Tomcatのログフォルダあたりにエラーログが書き出されたりしていませんか?
また、EclipseからTomcat起動しているならエラーがEclipseのコンソールに
出力されていませんか?
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-22 09:33
昔tilesを使ったとき、struts-config側のフォーワード先に
設定していた設定が、tilesの設定ファイル側に存在しなかった
際、真っ白でページ表示されたことがありました。もう一度
両方の設定ファイルをチェックして、文字の打ち間違いとか
設定漏れが無いかチェックしてみてはいかがでしょうか。
tiles内でincludeしているJSPファイルがちゃんと存在するかとかも。
(4年くらい前なのでうるおぼえですが・・・)


[ メッセージ編集済み 編集者: 小僧 編集日時 2006-08-22 09:36 ]
ぬべたそ
ベテラン
会議室デビュー日: 2003/12/18
投稿数: 72
投稿日時: 2006-08-22 21:05
nagiseさん、小僧さん返信ありがとうございます。

引用:

Tomcatのログフォルダあたりにエラーログが書き出されたりしていませんか?
また、EclipseからTomcat起動しているならエラーがEclipseのコンソールに
出力されていませんか?


Eclipseのコンソールには何も表示されません。
しかし、ご指摘を参考にtomcatのlogを確認したところ、localhost_logにエラーが出力されていました。
これで何とか解析できそうです。ありがとうございます。
(本当はブラウザ上に出力されると助かるのですが。)

引用:

昔tilesを使ったとき、struts-config側のフォーワード先に
設定していた設定が、tilesの設定ファイル側に存在しなかった
際、真っ白でページ表示されたことがありました。


確かに、設定ファイルを間違えたり、foward先が定義されていなかったりすると真っ白になることがあります。
今回も、どこかの設定ファイルを間違えていてログやエラー情報が出力されないのかもしれません。
1

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