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

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

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

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

JSP

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

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Java

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

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

Q&A

0回答

790閲覧

jspで作成された直接入力可能なテーブルを更新する

yorha0005

総合スコア14

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

JSP

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

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Java

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

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

0グッド

0クリップ

投稿2017/08/29 07:06

まず状況の説明から。
現在、MVCモデルを使って、jsp,sarvlet,beanの連携によるプログラムを作成しています
そこで、作成したテーブルを直接編集できるようにし、次いで編集した表を読み込んで更新をする
プログラムを作成中です。

表作成までの流れとしては、

Beanを使ってデータベースの情報を取得しリストにまとめる

そのリストをjsp上でfor文を使って回し、テーブルを作成

作成したテーブルのセルはテキストボックスになっており、直接編集可能

編集された値を読み取り、データベースを更新する

となっております。
また、10行固定表示で、初期表示で10行にならなかった場合は
初期値のない行を10行まで出すようにしています。
以下は簡単な表のサンプルです。

lang

1<table class="Detail"> 2<%--項目部--%> 3 <thead class="DetailHead"> 4 <tr class="DetailHead" > 5 <td ROWSPAN="2" width="50">NO</td> 6 <td COLSPAN="2" width="150">AAAA</td> 7 <td ROWSPAN="2" width="100">BBB</td> 8 <td ROWSPAN="2" width="200">CCCCC</td> 9 </tr> 10 <tr class="DetailHead" > 11 <td width="75">DDD</td> 12 <td width="75">EEE</td> 13 </tr> 14 </thead> 15<%-- 表 --%> 16 <tbody class="DetailBody"> 17 <% for (Bean result : resultList) { %> 18 <% count++; %> 19 <% System.out.println(count); %> 20 <tr class="DetailManageBody" align="right" height="25"> 21 <td width="50"><input type='text' name="NO<%=count %>"value=<%=result.getNO()%> /></td> 22 <td width="75"><input type='text' name="DDD<%=count %>"value=<%=result.getDDD()%> /></td> 23 <td width="75"><input type='text' name="EEE<%=count %>"value=<%=result.getEEE()%> /></td> 24 <td width="100" align="center" > 25 <% if (result.getBBB() == 0) { %> 26 <input type="checkbox" id='checkoff'name="BBB<%=count %>" value="" > 27 <% }else { %> 28 <input type="checkbox" id='checkon' name="BBBl<%=count %>" value="" checked='checked'> 29 </td><% } %> 30 <td width="200"><input type='text' name="CCCCC<%=count %>"value=<%= result.getCCCCC() %> class=custom /></td> 31 </tr> 32 <% } %> 33 34 <% if(count < 10) { %> 35 <% for (int i = 1; i < 11 - count; i++) {%> 36 <tr class="DetailManageBody" align="right" height="25"> 37 <td width="50"><input type='text' name="NO<%=count + i%>" value=<%=count + i%> /></td> 38 <td width="75"><input type='text' name="DDD<%=count + i%>"value="" /></td> 39 <td width="75"><input type='text' name="EEE<%=count + i%>"value="" /></td> 40 <td width="100" align="center" ><input type="checkbox" id='checkoff'name="BBB<%=count + i%>" value="" ></td> 41 <td width="200"><input type='text' name="CCCCC<%=count + i%>"value="" /></td> 42 </tr> 43 <% } %> 44 <% } %> 45 </tbody> 46</table> 47

以上より、教えていだたきたいコード、または実現イメージは

①countが毎回違うのことに着目し、テキストボックスの名前にカウントを付けて名前がかぶらないようにしたうえで各セルの値を取得し、

②上記各セルの値をテーブル1行ずつ読み込みリストを作成する

③sql文に当てはめる
※!!後にセルごとにエラーチェックもしたい場合、この方法でできるのかも心配

以上になります。

自分ではなかなか調べがつかず、また詳しい実現方法がイメージできないので困っております。
また、このほか良い考えがありましたらアドバイス頂ければ幸いです。
よろしくお願いします。

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

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

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

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

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

OldRiver

2017/09/14 05:54

データの取得元になっているデータベースの情報を追記してください(テーブルの列、型や主キーなど)。セルごとにどういうエラーチェックをしたいのかも追記してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問