「夫を成功」へ導く妻の秘訣 座談会

こんにちは。再度失礼します。

JSPで一覧表示された表からラジオボタンでひとつ選択し、サーブレット・Beanにその値を渡し、更新ページで更新処理、または削除処理を行わせたいと考えています。
更新用・削除用のサーブレットは別々です。
一覧表にはラジオボタンをDBに登録された名前が、DBにあるだけ(select * from テーブル)表示されることになっています。
下のソースはわかりやすいように3個だけもってくることにしてます。

【JSP】-----------------------------------------------
<% for (int i = 0; i < 3; i++){ %>
<tr><td>
<input type"radio" name="choice" value="i">
</td><td>
<%= [DBから取得した名前](i) %></td>
<%= i %>
<% } %>
【servlet】
String str = request.getParameter("choice")
--------------------------------------------------------
ここで実行するとサーブレットに渡されたchoiceの値はvalueの変数 i になってしまいます。valueの値がサーブレットに渡されるのはわかっているのですが、i ではなく、[DBから取得した名前]をサーブレットに渡したいのですがどうしたらよいのでしょうか。

良い方法をご存知の方、ご教授よろしくお願いいたします。

A 回答 (2件)

<input type="radio" name="choice" value="<%= [DBから取得した名前](i) %>">



これだとどうなります?
    • good
    • 0
この回答へのお礼

ありがとうございます!おかげで、うまく取得できました。
下の回答でもエラーが出たのは余計なスペースがあったせいみたいでした。

お礼日時:2008/08/29 10:47

間違えていたらすいません。


<input type"radio" name="choice" value="<%=i%>">
ではどうでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やってみたのですが…value="<%=i%>"のところでエラーが出てしまいました。
ちなみにこのようなやり方でも列数iではなく、DBから取得したカラム名をサーブレットに渡せるのでしょうか?

------------------------------------
○(ラジオボタン) レモン
○        りんご
-----------------------------------
→DBに「レモン」「りんご」の二件が登録されていて、一覧表示画面から「レモン」のラジオボタンを選択して実行ボタンを押したらサーブレットに「レモン」が渡される

お礼日時:2008/08/26 11:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qラジオボタンの選択肢をサーブレットで取得するには?

サーブレットの開発を行っていますが、ブラウザー側で
ラジオボタンを選択した際に何を選択したかのデータを取得したいのです。
(下記のHTMLで言えば、割引手形か、手形貸付か、証書貸付というのを取得したいのです)
パラメーターをサーブレットで受け取りたいのですが
うまくいきません
HTMLでHIDDENを使用するとか聞いたことはあるのですがどのようにコーディングすればいいんでしょうか?
よろしくお願いいたします。

<p>
<input type="radio" name="radiobutton" value="radiobutton">
割引手形 
<input type="radio" name="radiobutton" value="radiobutton">
手形貸付 
<input type="radio" name="radiobutton" value="radiobutton">
証書貸付
</p>

ブラウザー側からは
<form action="http://localhost/servlet/yuushi" method=post>
の指定を行っています。
サーブレットでの受け取り方を、
String p2=request.getParameter("radiobutton");
 とすると、p2=radiobuttonとデータがセットされました。

サーブレットの開発を行っていますが、ブラウザー側で
ラジオボタンを選択した際に何を選択したかのデータを取得したいのです。
(下記のHTMLで言えば、割引手形か、手形貸付か、証書貸付というのを取得したいのです)
パラメーターをサーブレットで受け取りたいのですが
うまくいきません
HTMLでHIDDENを使用するとか聞いたことはあるのですがどのようにコーディングすればいいんでしょうか?
よろしくお願いいたします。

<p>
<input type="radio" name="radiobutton" value="...続きを読む

Aベストアンサー

それぞれの項目の value を、ユニークにして下さい。例えば、

<input type="radio" name="radiobutton" value="1"> 割引手形 
<input type="radio" name="radiobutton" value="2"> 手形貸付 
<input type="radio" name="radiobutton" value="3"> 証書貸付

そうすれば、「手形貸付」を選択したときに

String p2 = request.getParameter("radiobutton");

とすれば、p2 は "2" になります。

QJSP + ラジオボタン

JSP+Servlet+Beanで作ってます。
JBuilder5を使ってます。

JSPはラジオボタン、テキスト、ボタン等があります。
<INPUT TYPE = "radio" NAME = "r1" VALUE = "ins">A
<INPUT TYPE = "radio" NAME = "r1" VALUE = "upd">B
<INPUT TYPE = "radio" NAME = "r1" VALUE = "del">C

としています。
たとえば、Bを選択時、ボタンクリックで
Servletにリクエストを送信しますが、
Servletから再びJSPを呼び出し、画面を
表示するとき、ラジオボタンはBを選択
させたいのですが、どうしたらいいですか?
FormタグのCHECKEDというオプションを
どのように使えばいいのか教えていただきたいのですが。


テキストには、Beanでsetメソッド、
JSPでは、<jsp:getProperty・・・>を使って
セットできているんですが、ラジオボタンも
同様ですか?
@@@・・・JSPのタグを勉強しないといけないです。
@@@勉強不足です。

JSP+Servlet+Beanで作ってます。
JBuilder5を使ってます。

JSPはラジオボタン、テキスト、ボタン等があります。
<INPUT TYPE = "radio" NAME = "r1" VALUE = "ins">A
<INPUT TYPE = "radio" NAME = "r1" VALUE = "upd">B
<INPUT TYPE = "radio" NAME = "r1" VALUE = "del">C

としています。
たとえば、Bを選択時、ボタンクリックで
Servletにリクエストを送信しますが、
Servletから再びJSPを呼び出し、画面を
表示するとき、ラジオボタンはBを選択
させたいの...続きを読む

Aベストアンサー

<% %>のなかに
<jsp:getProperty name="wk" property="aaa" />
のようなJSPタグを使用することはできません。
これはエラーになります。

wkがBeanのインスタンス名、aaaがプロパティ名なので
<% if(wk.getAaa()==1){ out.print("checked");} %>

でよいと思いますが・・・

QJava-jspの画面入力値保持について

画面にテキスト、ラジオボタン、リストボックス とボタンがあります。
ボタンを押すと、JAVAで処理を行い、jspのviewで表示します。

1.テキスト、ラジオボタン、リストボックスなどに値が入力、設定されている状態で
ボタンを押して処理後にテキスト、ラジオボタン、リストボックスの値が
変わらないようにしたいのですが、
その場合、たとえば、入力、設定値をセッションになどに格納しておき
jspの所で、セッションから値を設定すると言うような方法になるのでしょうか?

2.ボタン押して処理後、ラジオボタン、リストボックスの選択値も
  変えないようにしたいのですが、
  これはどのように実現するのが、適切なのでしょうか?


以上、よろしくお願いします。

Aベストアンサー

ボタンというのはフォームのサブミットボタンのことですよ?
つまり、画面遷移が起きることを前提とすると(元の同じ画面に戻るのも含みます)

テキスト、ラジオボタン、リストボックスの状態を「要求パラメータ」として
送信し、それを次画面に反映するというのが最も一般的な方法です。

フレームワーク struts のアクションフォーム&JSPカスタムタグを使うと比較的楽に
そういう画面が作れますが、多くのフレームワークでも大差ありません。
簡単な画面なら素のサーブレート+JSPでも十分作れます。

セッションでもできますが、 セッションはログイン情報などの保持など、
限定された範囲で使うのが普通です。また、結局セッションに最新の
テキスト、ラジオボタン、リストボックスの状態を送るには、「要求パラメータ」
を送信する必要があります。

AJAXを使うという方法もあります。この場合、ボタンは AJAX 処理だけを行い
画面遷移を起こさないので、サーバ側で画面のテキスト、ラジオボタン、
リストボックスの状態をもつ必要はありません。

QラジオボタンのValueを受け取りたい

 ある画面(formnn10.jsp)データベースから読込んだ抜粋データをテーブルに出力し、該当する情報を1件選択(パラメータ化)してsubmitボタンで次画面(formn11.jsp)へ送り、再度データベースを読み込み詳細の表示を行う処理を構築中です。

現在、選択はラジオボタンをループで作成し、valueでパラメータを与えています。
この値の一部をJavascriptで取り出し、ダイアログへ選択の確認メッセージとして表示したいのですが、'document.formnn10.parm_No.valueはNull又はオブジェクトではありません'とのエラーメッセージが表示されます。(parm_Noがラジオボタンのnameです。)
デバッグを行わず、次画面formnn11に処理が移ると選択情報の詳細は表示される為、javascriptでの値の取り出し方が問題の様なのですが…。


formnn10.jspのテーブル表示部分のコーディングは次の通りです。

<% for(int j=0;ichiran2[j][0]!=null;j++){
out.println("<tr>")
out.print(" <td align=\"center\">");
out.print("<INPUT type=\"radio\" name=\"parm_No\" value=\""+wkparm_No+"\>");
out.print("</td>")

out.println("</tr>")

javascript側のコーディングは次の通りです。
wkname = document.formnn10.parm_No.value.substring(8);


こんな感じです。ここに未表示のファイル名他の不一致についてはとりあえず無さそうです(手打ちしているので誤打鍵御容赦)
 現在はラジオボタン+submitの形式で選択していますが、現行の方法に固執する必要は無く変更可能です。
 各行の横で対象指定を行い、Javascriptで値を拾い(ダイアログに表示出来)、formnn11.jspでparm_Noとして値を受取るにはどうすれば良いでしょうか。

 ある画面(formnn10.jsp)データベースから読込んだ抜粋データをテーブルに出力し、該当する情報を1件選択(パラメータ化)してsubmitボタンで次画面(formn11.jsp)へ送り、再度データベースを読み込み詳細の表示を行う処理を構築中です。

現在、選択はラジオボタンをループで作成し、valueでパラメータを与えています。
この値の一部をJavascriptで取り出し、ダイアログへ選択の確認メッセージとして表示したいのですが、'document.formnn10.parm_No.valueはNull又はオブジェクトではありません'とのエラーメ...続きを読む

Aベストアンサー

ラジオボタンは、Javascriptでformに対してnameで取ると
各ラジオボタン(同じname)の配列(Array)で返されるようです。
ただし、ラジオボタンが1つだと、要素が1つの配列ではなく
ラジオボタンそのものが返されるようです。

私のよくやる手は、別途hiddenを作る方法です。
まず、ラジオボタン(formに対してnameで取ったもの)を引数に
選択されたvalueを返すfunction、指定したvalueのラジオボタンを
checkedにするfunctionなどを、共通的に作っておきます。
そして、別途作ったhiddenのvalueにラジオボタンで選択された
valueを入れたり、逆にhiddenのvalueをラジオボタンに反映する
といった動きを、submit時、onLoad時にJavascriptでやります。
そして、Servletと結びつけるのはhiddenの方にします。

ラジオボタンの選択されたvalueを送るサンプルです。
(動作確認はしてません)
--------------
<form method="POST" action="formnn11.jsp" onSubmit="copyRadioToHidden(this)">
<%
  for(int j = 0 ; ichiran2[j][0] != null ; j++) {
%>
 <input type="radio" name="parm_No_Radio" value="<%= j %>">
<%
 }
%>
 <input type="hidden"parm_No" value="">
 <input type="submit">
</form>
--------------
function copyRadioToHidden(form) {
  // ラジオボタンの選択されたvalueをhiddenにコピー
  form.parm_No.value = getRadioValue(form.parm_No_Radio);
}
function getRadioValue(radio) {
  if(radio.length) {
    // ラジオボタンが複数個
    for(var i = 0 ; i < radio.length ; i++) {
      if(radio[i].checked == true) {
        return radio[i].value;
      }
    }
  }
  else if(radio.value) {
    // ラジオボタンが1個
    return radio.value;
  }
  else {
    // ラジオボタンがない
    return "";
  }
}

ラジオボタンは、Javascriptでformに対してnameで取ると
各ラジオボタン(同じname)の配列(Array)で返されるようです。
ただし、ラジオボタンが1つだと、要素が1つの配列ではなく
ラジオボタンそのものが返されるようです。

私のよくやる手は、別途hiddenを作る方法です。
まず、ラジオボタン(formに対してnameで取ったもの)を引数に
選択されたvalueを返すfunction、指定したvalueのラジオボタンを
checkedにするfunctionなどを、共通的に作っておきます。
そして、別途作ったhiddenのvalueにラジオボ...続きを読む

QJSPで