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

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

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

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

MVC

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1711閲覧

j

noririn

総合スコア37

JSP

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

MVC

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/07/10 01:52

編集2016/10/20 12:04

oooooooooooooooooooooooooooooooooooooooooooooo

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

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

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

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

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

guest

回答2

0

<input type="hidden" name="hidden" value="<%= bean.getNo() %>">

10個の要素を作成してもname="hidden"の要素が作成されるので、そのようになっています。
以下のようにnameにも連番を付与したりしてはどうでしょうか。

<input type="hidden" name="hidden-<%= bean.getNo() %>" value="<%= bean.getNo() %>">

投稿2016/07/10 02:44

sekitaka_1214

総合スコア509

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

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

noririn

2016/07/10 09:58

sekitaka_1214 様 ご回答ありがとうございます。 知識不足で申し訳ありません、nameにhidden-<%= bean.getNo() %>の指定をした場合、servletではgetParameterでどうやって受け取ることになるのでしょうか・・?
sekitaka_1214

2016/07/10 10:02

例えばですが `getParameter("hidden-1");`とかですね。 PHPだと `name="hoge[]"` で指定するとサーバーでは配列で受け取ってくれるのですが、servletがどうかはわかりません。すいません。
noririn

2016/07/10 10:11

sekitaka_1214様 お返事頂きましてありがとうございます。 PHPではそうなるのですね。 PHPはまだ扱ったことがないため、勉強になります。 この度はありがとうございました。
guest

0

ベストアンサー

<input type="submit">でフォーム内容の送信をした場合は、<form>内にある入力項目がすべて送信されます。今のままですと、出力されるHTMLは次のようになってしまいますね。

html

1<form> 2 <tr> 3.... 4 <input type="hidden" name="hidden" value="1"> 5 <input type="submit"> 6.... 7 </tr> 8 <tr> 9.... 10 <input type="hidden" name="hidden" value="2"> 11 <input type="submit"> 12.... 13 </tr> 14 <tr> 15.... 16 <input type="hidden" name="hidden" value="3"> 17 <input type="submit"> 18.... 19 </tr> 20.... 21 <tr> 22.... 23 <input type="hidden" name="hidden" value="10"> 24 <input type="submit"> 25.... 26 </tr> 27</form>

と、このように、formからhiddenの名前で1~10の値が常に送信され、サーバ側(Servlet|JSP)では、おそらくその最初の値を取得するようなコードを書いているため、常に先頭の1を削除しようとするでしょう。

一番かんたんな方法としては、次のようにしてJavaScriptも併用するのが良いですね。

html

1<form method="post" action="servlet" name="form"> 2<table> 3.... 4<tr> 5 <td> 6 <input type="button" value="削除" onclick="delete(<%= bean.getNo() %>)"> 7 </td> 8</tr> 9... 10<input type="hidden" name="hidden" id="hidden" value="" /> 11</table> 12</form>

javascript

1var delete(num) = function() { 2 document.getElementById('hidden').value = num; 3 document.form.submit(); 4}

hidden形式で送信する場合でどうにも動きがおかしい場合は、一度textにしてみるか、ブラウザのデバッグモード(F12)で出力されているHTMLの内容を確認しながら行いましょう。

投稿2016/07/10 02:38

A-pZ

総合スコア12011

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

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

noririn

2016/07/10 09:54

A-pZ 様 ご回答ありがとうございます。 javascriptを使うのですね・・ 早く全て自分の力だけで実装できるようになりたいです・・ 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問