質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.10%

【struts】JSPの表示が途中で止まる。

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 5,305

score 12

前提・実現したいこと

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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 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さんありがとうございました。

    キャンセル

回答 2

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/20 23:20

    回答ありがとうございます。
    記載されたURLのページを見させて頂きましたが、ログなどを見てもエラー事態が発生していないので、表示処理途中にエラーが発生して止まってしまう可能性は無いのではないかと考えています。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.10%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る