- PR -

表示がうまくいきません

1
投稿者投稿内容
ポン
ベテラン
会議室デビュー日: 2006/02/15
投稿数: 98
投稿日時: 2006-03-01 18:28
お世話になっております。
ようやく検索処理が完成していよいよ表示なのですが、どうしても表示がうまくいきません。jspソースは下記です。データ詰めはちゃんとできております。

<%
for (int cnt = 0; cnt < detaillist.size(); cnt++) {
HashMap detailmap = (HashMap)(detaillist.get(cnt));
String strCell ="";
if (cnt % 2 != 1 ){
strCell ="#E0E0E0";
}
%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber1">

<tr>
<td colspan="6" BGCOLOR="#4D66B3"><font size="2" COLOR="WHITE">xxxx</font></td>
</tr>
<tr>
<td colspan="1" align="center" BGCOLOR="#E0E0E0"><font size="2">xxx名</font></td>
<td colspan="2" BGCOLOR="WHITE"><br></td>
</tr>
<tr>
<td colspan="1" align="center" BGCOLOR="#E0E0E0"><font size="2">年月日</font></td>
<td colspan="2" BGCOLOR="WHITE"><br></td>
</tr>
<tr>
<td align="center" BGCOLOR="#E0E0E0"><font size="2">理由</font></td>
<td BGCOLOR="WHITE"><input type="text" name="Reazon" size="80" value=<%=(String)detaillist.get(CommonConst.REAZON)%>></td>
</tr>
<tr>
<td align="center" BGCOLOR="#E0E0E0"><font size="2">備考</font></td>
<td BGCOLOR="WHITE"><input type="text" name="Bikou" size="40"></td>
</tr>

</table>
<%}%>

上記のソースだとどうしても多数のテーブルがでてくるのです。
そこでforを外側に書いてみたのですが
「シンボルを解決できません。」のエラーがでてしまいます。
良い方法はありませんでしょうか?
ご教授お願い致します。

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-03-01 18:33
table要素の外側に for ループを書いているのでテーブルが複数出てくるのは当たり前ではないでしょうか?

>そこでforを外側に書いてみたのですが
もしかして貼り付けたソースが外側に書いたものでしょうか???
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2006-03-01 18:38
for(...) {
<table>〜<table>
}
と書いているのだから、そりゃテーブルも沢山出るでしょう。

全体を
<table>
for(...) {
<tr>...1行分のデータ...</tr>
}
</table>
と書けば良いと思います。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-03-01 18:41
たぶん10行表示してくれると思われるソースです(未検証)。
お手元のソースと本質的に何が違うか比べてみてください。

<table>
<%for(int i=0;i<10;i++){%>
<tr><td><%=i%></td></tr>
<%}%>
</table>
ポン
ベテラン
会議室デビュー日: 2006/02/15
投稿数: 98
投稿日時: 2006-03-01 18:47
インギさん、vincentさんお早い返答ありがとうございます。
すみません説明不足でした。
tableのうち側にももちろん書いたのですが
その場合インギさんの言った通り10行表示されてしまいます。

どうしても1個だけ表示したいのです。
とりあえずまた色々試してみたいと思います。
また何か良い方法がございましたらよろしくお願い致します。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-03-01 23:02
貼り付けて頂いた例だと必ず detaillist の長さの分だけテーブルが表示されますね。
よく見ると detailmap も strCell も使われていませんね。
何のために for 文があるのでしょう?
サンプルとして抜き出したら余計な部分が残っていた、ということでしょうか?
ポン
ベテラン
会議室デビュー日: 2006/02/15
投稿数: 98
投稿日時: 2006-03-02 19:50
返信遅れて申し訳ございません。
ようやく解決しました。
おっしゃる通り、sampleを貼り付けて以前は成功していたため
そのまま鵜呑みにしてました。
ありがとうございました。
1

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