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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

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

Java

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

Q&A

解決済

2回答

6233閲覧

jsp:一覧画面の変数を入力画面へ渡すには

manmos

総合スコア55

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

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

Java

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

0グッド

0クリップ

投稿2016/04/04 15:48

編集2016/04/07 16:10

質問です。

一覧画面に表示させたDB(Mysql)のレコードの内容を入力画面の入力フォーム(テキストボックスやラジオボタンやプルダウンメニュー)の初期値にするにはどうすればよいでしょうか。

現在一覧画面では

<a href="./Detail">新規登録</a> //途中省略 <c:forEach var="tmp" items="${list}"> <TD><c:out value="${tmp.e_Id}" /></TD> <TD><c:out value="${tmp.syozoku}" /></TD> <TD><c:out value="${tmp.name}" /></TD> <TD><c:out value="${tmp.nameHiragana}" /></TD> <TD><c:out value="${tmp.sex}" /></TD> <TD><c:out value="${tmp.age}" /></TD> <TD><a href="./Datail">詳細</a></TD> <TR/> </c:forEach>

といった具合で、Daoで取得したMysqlのレコードの値を横一行に表示してレコードの数だけ列を表示、各行の終わりには入力(登録)画面へ移行するためのボタンを用意しています。

今のところ画面上部のボタンでも各行のボタンでも入力の画面である.Detailにそのまま移行するようになっていますが、ここで各行のボタンから移行する際、その行の一つ分のレコードを入力画面へ渡して初期値にしたいと思ってます。

調べてみたりもしたのですが、入力画面のjsp内で再度Mysqlに接続みたいなものばかり出るのですが一覧画面の情報を利用することはできないのでしょうか?

ちなみに以下が入力画面のjspになります。

<title>登録</title> </head> <body> <h1>登録</h1> <form action="./Detail" method="post"> 氏名<input type="text" name="name" size="20" maxlength="20"><br> 氏名(ひらがな)<input type="text" name="nameHiragana" size="20" maxlength="20"><br> 生年月日<input type="text" name="birthday" size="10" maxlength="10"><br> 性別<input type="radio" name="sex" value="0" /> 男 <input type="radio" name="sex" value="1" /> 女<br> 所属<select name="sex"> <option value="0">A</option> <option value="1">B</option> <option value="2">C</option> <option value="3">D</option> <option value="4">E</option> </select><br>

(e_idの入力フォームがないのは隠しパラメータとしようとしている途中だからなので気にしないでください。)

構造的にはjspは登録でも更新でも同じものを使用、sql文の処理にはInsertとUpdateのメソッドをそれぞれDaoに用意しようと考えています。

長文失礼いたしました、どなたかご教授お願いします。

追記です、コメントに投稿した内容ですが一応本文に記載します。

渡した情報を入力フォームの初期値に設定するには入力画面のjspにはどのような処理が必要なのでしょうか?
今のところ結果に変化が見られないので情報が渡せているのかもわからないのですが、登録でも更新でも同じjspを使いたいので通常時は空欄(デフォルト)、更新の際はテキストボックスなどに値をあらかじめ入力、という風にしたいです。

この辺りのやり方が分かると大変助かるのですが可能でしょうか?

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

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

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

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

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

guest

回答2

0

こんにちは。

一覧画面と詳細画面で使用するDataBeanを一緒にして、詳細リンクからsubmitされるときにサーバーサイドで同じものを渡してあげればいいんじゃないでしょうか?
そしたら、そのまま渡せるし、同じプロパティ名で値を引っ張ってこれると思います。

参考:

あと、こちらのアプリは個人的に作っているものだと思うのですが、
もし業務で作っているのでしたら、
一覧に表示しているデータをそのまま詳細で編集して更新するというのは、
更新時のアプリの仕様(先勝ち・後勝ち等)にもよりますが、
更新したデータがおかしくなってしまったりする原因になりかねないので、
詳細を開く際に再度DBから最新のデータを取得して、
更に更新の直前で変更されていないかのチェック(タイムスタンプチェック等)をしたほうがいいかと思います。

投稿2016/04/05 01:27

編集2016/04/05 01:29
kaputaros

総合スコア1844

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

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

0

ベストアンサー

入力画面の方ではformタグを使ってますが、これってサーバに入力内容=情報を送信するためのものだ、という認識はありますか?
同じように一覧画面の「<a href="./Datail">詳細</a>」で、リンク先urlにキー情報などをパラメータとして渡してやってはどうでしょう?
<a href="./Datail?e_Id=${tmp.e_Id}">詳細</a>」みたいな感じで。

投稿2016/04/04 20:39

tkturbo

総合スコア5572

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

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

manmos

2016/04/05 14:46

回答いただきありがとうございます。 繰り返し質問で申し訳ないのですがこの渡した情報を入力フォームの初期値に設定するには入力画面のjspにも何か処理が必要なのではないでしょうか? 今のところ結果に変化が見られないので情報が渡せているのかもわからないのですが、登録でも更新でも同じjspを使いたいので通常時は空欄(デフォルト)、更新の際はテキストボックスなどに値をあらかじめ入力、という風にしたいです。 この辺りのやり方が分かると大変助かるのですが可能でしょうか?
tkturbo

2016/04/05 14:56

「キー情報などを」と言ってますが、このキー値でDBを検索し、検索結果を画面にセットする必要があります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問