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

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

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

2回答

10058閲覧

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

TETSUO

総合スコア12

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2016/04/19 17:39

編集2016/04/20 14:39

###前提・実現したいこと
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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TETSUO

2016/04/20 14:44

私が使用しているのはTomcat 8.0.17でした。 Tomcatのバージョンによってはバグが潜んでいる可能性があるのですね。 Tomcat8.0.7で起きていたバグはTomcat 8.0.17では修正されているのでしょうか。
A-pZ

2016/04/21 05: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 09: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さんありがとうございました。
guest

回答2

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さん
質問に対応してくださり、ありがとうございました。

投稿2016/05/01 09:21

TETSUO

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TETSUO

2016/04/20 14:20

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問