前提・実現したいこと
Strutsで商品検索画面を作っています。
画面の検索ボタンを押下すれば、条件に合致した商品の一覧が表示される機能です。
テーブルから取得した値をリストに入れ、JSPでlogic:iterateを使いリストから一件ずつ値を取りだし一覧を表示しています。
発生している問題・エラーメッセージ
検索ボタンを押下すると、検索結果の一覧の表示が途中でとまってしまいます。
画面のソースコードを表示すると、</tr のようにタグが途中で途切れていました。
7,8件程度までは正常に表示できるのですが、10件以上表示させようとすると表示が途中で途切れます。
該当のソースコード
※JSPより抜粋
<table id="tableResult" border="1" cellspacing="0">
<tr>
<th>選択</th>
<th>部</th>
<th>ライン</th>
<th>クラス</th>
<th>商品コード</th>
<th>商品名</th>
<th>金額</th>
<th>在庫数</th>
</tr>
<logic:iterate id="element" name="searchItemForm" property="queryData" indexId="idx">
<tr>
<td><input type="radio" name="rowSelect" value="${idx}" /></td>
<td><bean:write name="element" property="bucd" /></td>
<td><bean:write name="element" property="linecd" /></td>
<td><bean:write name="element" property="classcd" /></td>
<td class="itemCdValue"><bean:write name="element" property="itemcd" /></td>
<td><bean:write name="element" property="itemName" /></td>
<td><bean:write name="element" property="price" /></td>
<td><bean:write name="element" property="amount" /></td>
</tr>
</logic:iterate>
</table>
試したこと
デバッグで処理を追いかけたのですが、リストにはDAOで取得した想定通りの件数のレコードが正常に入っていました。
試しに他のJSPの文章やタグを削除すると、いつもより一覧の表示が多くなります。
バッファの問題なのではないかと思い、JSPのページディレクティブにbuffer="128kb" autoFlush="false"の記述を追加したのですが、表示は変わりなく途中で途切れてしまいます。
(autoFlush="false"を記述してもJSPバッファオーバーフローのエラーが出ないので、バッファの問題ではない?)
EclipseのコンソールとTomcatのログを確認しましたが、エラーは発生していませんでした。
補足情報(言語/FW/ツール等のバージョンなど)
Java 1.8.0_40
Struts 1.3.10
Tomcat 8.0.17
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
check解決した方法
0
問題が解決いたしました。
JSPの表示が途中で止まる原因は、Tomcat 8.0.17のバグが原因でした。
Stack Overflowというサイトに載っておりました。
(以下のサイトの質問回答者の回答欄からTomcat 8.0.17のバグ報告ページにも飛べます。)
JSP output getting trucated in tomcat 8.0.17 - Stack Overflow
http://stackoverflow.com/questions/28084416/jsp-output-getting-trucated-in-tomcat-8-0-17
A-pZさんの仰られた通り、現時点で最新のTomcat バージョン8.0.33をインストールし直したところ、
正常にJSPが出力され、検索結果の一覧が全て表示されました。
A-pZさん、tkturboさん
質問に対応してくださり、ありがとうございました。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.33%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
A-pZ
2016/04/20 22:55
念のためTomcatの詳細なバージョンも付記してください。
Tomcat8.0.7以前のリビジョンで発生するJSPバッファに関する不具合があります。
https://bz.apache.org/bugzilla/show_bug.cgi?id=56581
TETSUO
2016/04/20 23:44
私が使用しているのはTomcat 8.0.17でした。
Tomcatのバージョンによってはバグが潜んでいる可能性があるのですね。
Tomcat8.0.7で起きていたバグはTomcat 8.0.17では修正されているのでしょうか。
A-pZ
2016/04/21 14:08
詳細なバージョンありがとうございます。8.0.7で発生していた問題は8.0.8で修正されていますが、今回と似たようなJSPバッファの不具合は8.0.15で再発、8.0.17で修正されていると思われます。
お使いのバージョンが8.0.17なのでおそらく問題はないはずですが、ひょっとすると再発している可能性もありますね。もし可能でしたら8.0.33(8.0系最新)にしてもやはり障害となるかを確認した方がよさそうです。
TETSUO
2016/05/01 18:06
A-pZさん
ご返信ありがとうございます。
調査したところ、Tomcat 8.0.17でもJSPが正常に出力されない不具合があったようです。
Stack Overflowというサイトで見つけました。以下サイトの質問回答者の解答欄からTomcat 8.0.17のバグ報告ページにも飛べます。
JSP output getting trucated in tomcat 8.0.17 - Stack Overflow
http://stackoverflow.com/questions/28084416/jsp-output-getting-trucated-in-tomcat-8-0-17
A-pZさんの仰られた通り、Tomcatのバージョンを8.0.33にすると正常にJSPが出力されました!
本当に助かりました。A-pZさんありがとうございました。