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のタグを勉強しないといけないです。
@@@勉強不足です。

A 回答 (4件)

<% %>のなかに


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

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

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

この回答への補足

何度も何度も申し訳ありませんでした。。


結果、できました!!!!

本当に今日はいっぱい質問してしまって
申し訳ありませんでした。。。

超がつく初心者なのでもっと勉強しなければ
と改めて思います。

kuro_73さん、本当に本当にありがとうございました。



##最初からこういうコーディングにしてて
エラーがでてます、と具体的に
書いておけばよかったです。
すみません。。。

補足日時:2001/08/15 17:47
    • good
    • 1

すごく基本的なことですが、以前同様な経験をして「あっ!」と思ったことがあったので、一応確認させてください。



なんらかのスクリプトエラーでこのように、全てにcheckedがついていませんか?
<INPUT TYPE="radio" NAME="FLG1" VALUE="A" checked>A
<INPUT TYPE="radio" NAME="FLG1" VALUE="B" checked>B
こうすると、一番最後のradioのチェックが有効になりますが・・・

この回答への補足

すみません。
3番目にCHECKEDがあるというのは、
みてみると、タグの間違いでした。

しかし、結局、エラーになってしまいます。

<INPUT name="r1" type=radio value=1
<% if(<jsp:getProperty name="wk" property="aaa" /> ==1){ out.print("checked");} %> > A

というかんじにしたいんですが、
コーディング途中でJBuilderのエラーチェックに
かかります。
タグの書き方がおかしいんでしょうね。。

補足日時:2001/08/15 17:00
    • good
    • 0

<INPUT name="r1" type=radio value=1 <% if(aaa=="1"){ %> checked <% } %> >



のように表示したければ、まず

<INPUT name="r1" type=radio value=1 <% if(aaa.equals("1")){ out.print("checked") } %> >

このように書き直す必要があります。

aaaの値を<jsp:getProperty・・・>って、ようはBeanから持ってきた値をaaaに代入したいという意味ですよね?
kanayuさんのやり方で多分大丈夫だと思いますが。。。

あまりjsp1.0は使用したことがなくてよく分からないんです。
JSPタグもホンの基本しか使わず、Beanを使うときは、sessionにBeanを付加して、
<% %>の中でsessionからsession.getValue()しているので・・
No.1で回答したやり方で、Beanもsessionにくっつけられるので、
もし、kanayaさんのやり方で上手くいかなければ、これも試してみてください。

この回答への補足

有り難うございます。

>aaaの値を<jsp:getProperty・・・>って、
>ようはBeanから持ってきた値をaaaに代入したいという意
>味ですよね?
>kanayuさんのやり方で多分大丈夫だと思いますが。。。

やってみたんですが、結局3つめのラジオボタンに
ずっとチェックがある状態でした。
(3つめのボタンにCHECKEDをつけているような状態でした。)

それで、kuro_73さんが書かれたNo1のコードを
試してみたのですが、
いくつかでエラーとなってしまいました。

session.putValue("checkA" ,"checked");
のputValueで警告がでました。
String checkA = (String)session.getValue("checkA");
のgetValueで警告がでました。
それぞれ、setAttribute,getAttributeにおきかえて
実行してみましたが、Error500がでてきました。

うーん。なんかいい方法はないですかねえ。。。
もう少し調べてみます。

補足日時:2001/08/15 16:10
    • good
    • 0

あなたの文章が良く理解できないのですが、


つまりこう言うことをやりたいのですか?

****Servlet****
doGet(HttpServletRequest req, HttpServletResponse res){
//処理
HttpSession = session
//セッションを取得・・trueだったら新規セッションを作る
session = req.getSession(false);
String aaa = req.getParameterValues("r1");

//セッションに値をput
if(aaa.equals("ins")){
session.putValue("checkA" ,"checked");
session.putValue("checkB" ,"");
session.putValue("checkC" ,"");
}else if(aaa.equals("upd")){
session.putValue("checkA" ,"");
session.putValue("checkB" ,"checked");
session.putValue("checkC" ,"");
}else if(aaa.equals("del")){
session.putValue("checkA" ,"");
session.putValue("checkB" ,"");
session.putValue("checkC" ,"checke");
}
//JSPを表示
}

****JSP****
<%
HttpSession session = request.getSession(true);
<%
HttpSession session = request.getSession(false);
String checkA = (String)session.getValue("checkA");
String checkB = (String)session.getValue("checkB");
String checkC = (String)session.getValue("checkC");
%>

<INPUT TYPE = "radio" NAME = "r1" VALUE = "ins" <%=checkA>>A
<INPUT TYPE = "radio" NAME = "r1" VALUE = "upd" <%=checkB>>B
<INPUT TYPE = "radio" NAME = "r1" VALUE = "del" <%=checkC>>C

この回答への補足

分かり難い質問、文章、申し訳ありません。
また、答えてくださって有り難うございます。

やりたかったのは、JSPのなかで
IF文を用いて、GetPropertyした値を
判断し、CHECKEDがつけれるか、といったことです。

<INPUT name="r1" type=radio value=1 <% if(aaa=="1"){ %> checked <% } %> >

こういうタグの使い方をしようと
試みたんですがうまくいかないのです。

というのは、
<% if(aaa=="1"){ ・・・・

のaaaにあたる値を
<jsp:getProperty name="wk" property="syori_no" />
でとってきた値にしたいのです。

テキストでは、このgetPropertyって
よく使いますよね。だから、ラジオボタンでもつかえない
かなとおもいまして。。。
こういう使い方はしないのでしょうか??

補足日時:2001/08/15 14:48
    • good
    • 0

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

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

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

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

Q

<input type="hidden" name = "hoge">があったとします。
これを、javascriptを使用し nameで検索します。
”hoge”を検索後、その”hoge”という名前を変更する方法を探しています。 

<input type="hidden" name = "hoge">
       ↓↓↓↓↓
<input type="hidden" name = "fuga"> 

リフレッシュ無しで、上記のようにnameを変える方法が知りたいです。

ご存知の方おりましたら、お手数ですが教えていただけませんでしょうか。
宜しくお願いいたします。

Aベストアンサー

タグが特定出来れば、setAttribute等で属性値を変更出来ます。
setAttribute("name","fuga")

Qで、Q1に後で値を設定して表示するには

お世話になります。
<input type="text" name="Q1">で、Q1に後で値を設定して表示するにはどうしたら良いものでしょうか。
name="Q1"
と、しているので、
onMousedown="function()"
で、nameでしてしたエリアに値を書き込めば、できると思うのですが、
このfunction()をどのように書いたらよいものか、いろいろ調べてもわかりません。
何とかご教示願えないでしょうか。
よろしくお願いします。

Aベストアンサー

javascriptを利用することで出来ます。
こんな感じで動くでしょう。
ちなみにテキストボックスなどをjavascriptで操作する場合は
idをつけておくと便利です。

これ以上をやりたいというのであれば
参考URLなど見て勉強してみてください
<html>
<head>

</head>
<body>

<input type="text" id="Q1" name="Q1" onmousedown="hoge()">
</body>
<script type='text/javascript'>
function hoge()
{
Q1.value = ""; //""のなかに設定する値
}
</script>

参考URL:http://www.parkcity.ne.jp/~chaichan/src/javasc21.htm

Q同一nameの input type="text" の合計を計算したい

初めて質問させて頂きます。
form 内で同じname名を付けられたテキストフィールドの値の合計を計算し、その値に定数を乗じた値を表示させたいのですが、出来ずに困っております。
name名を別にすれば簡単に出来そうなのですが、このinputが別CGIからの受け取りの関係で数が不定で同一nameが付いてしまいます。(inputは1個以上で上限は無し)
CGI側を書き換える事は自分の技術的に不可能なので、このような質問となりました。

以下は自分なりに試行錯誤の末の拙いソースです。
どなたかお分かりになる方、ご教授を宜しくお願い致します。

<html>
<head>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
<!--
function kakunin() {

var sub = Form.getInputs('form1', 'text');
( var subtotal = ~~~; ここに上で得た数字を合計するみたいなものがくるのかなと・・・)
var total = subtotal * 200;

document.form1.field_total.value = total; // 合計を表示

}
// -->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<form action="" name="form1">
<table>
<tr><td><input name="kazu" type="text" value="2"></td></tr>
<tr><td><input name="kazu" type="text" value="1"></td></tr>
<tr><td><input name="kazu" type="text" value="3"></td></tr>
<tr><td>・・・増えたりします・・・</td></tr>
<tr><td><input type="button" size="8" onclick="kakunin()" value="合計を確認"></td></tr>
<tr><td><input type="text" name="field_total" size="30" value="total"></td></tr>
</table>
</form>
</body>
</html>

初めて質問させて頂きます。
form 内で同じname名を付けられたテキストフィールドの値の合計を計算し、その値に定数を乗じた値を表示させたいのですが、出来ずに困っております。
name名を別にすれば簡単に出来そうなのですが、このinputが別CGIからの受け取りの関係で数が不定で同一nameが付いてしまいます。(inputは1個以上で上限は無し)
CGI側を書き換える事は自分の技術的に不可能なので、このような質問となりました。

以下は自分なりに試行錯誤の末の拙いソースです。
どなたかお分かりになる方、...続きを読む

Aベストアンサー

getElementsByNameで同一Nameを持つ要素(配列)が求められます。
var 合計 = 0;
var 要素 = document.getElementsByName("kazu");
for( var i = 0 ; i < 要素.length ; i++ ) {
  var 値 = parseInt(要素[i].value);
  if( !isNaN(値) ) 合計 += 値;
}
同じ名前でボタンとかないですよね?
あるんだったらTypeも見なければなりません。(上記コードには無い)

Qdocument.writeをinput type="text"の value値に

超初心者です。
下記の式にてPHPよりjavascriptにてHTMLに書き出しできましたが
<script type="text/javascript" src="./jsphptest.php?long=3" ></script>この値をHTMLのinput type="text"の value値にデフォルトとして入れたいと思っていますが、どうすればできるのか分かりません。できればボタン等を介さずページをロードすればこPHPからjavascriptのdocument.write値がvalue値に入って欲しいと思っています。簡単なようで難しいことなのでしょうか?どうかご教授よろしくお願いいたします。

Aベストアンサー

それからどうでもいいけど
htmlのタグの順番が適当ですね。

Qjsp,servlet,beanの流れについて

初歩の初歩の質問ですが、参考書等読んでいて混乱してしまっています。宜しくお願いします。

a.jsp(入力画面)
a_servlet.java
a_bean.java(setのみ)
b.jsp(表示画面)
b_servlet.java
b_bean.java(get,setのみ)

というファイルがある時のプログラムの流れは、
(1)a.jsp・・・画面を表示する。データを入力する。登録ボタンを押下する。
(2)a_servlet.java・・・(1)で登録ボタンを押下されたら、a.jspのデータを取得。a_bean.javaへ設定する。b.jspへ飛ぶ。
(3)a_bean.java・・・(2)によりデータが設定されている。
(4)b_servlet.java・・・a_bean.javaのデータを取得し、b_bean.javaに設定する。
(5)b_bean.java・・・(4)によりデータが設定されている。
(6)b.jsp・・・表示データをb_bean.javaより取得後、画面を表示する。削除ボタンを押下する。
(7)b_servlet.java・・・(6)で削除ボタンが押下されたらb.jspのデータを取得し、b_bean.javaへ設定する。

特にbファイルの処理順序で混乱しています。
上記のような流れで考え方は合っているでしょうか。
少々分かりずらいかもしれませんが、間違っていたら小学生でも分かるように教えてください。

初歩の初歩の質問ですが、参考書等読んでいて混乱してしまっています。宜しくお願いします。

a.jsp(入力画面)
a_servlet.java
a_bean.java(setのみ)
b.jsp(表示画面)
b_servlet.java
b_bean.java(get,setのみ)

というファイルがある時のプログラムの流れは、
(1)a.jsp・・・画面を表示する。データを入力する。登録ボタンを押下する。
(2)a_servlet.java・・・(1)で登録ボタンを押下されたら、a.jspのデータを取得。a_bean.javaへ設定する。b.jspへ飛ぶ。
(3)a_bean.java・・・(2)によりデータが設...続きを読む

Aベストアンサー

こんにちわ。
bubu2さんが言いたいのは「b.jspの初期値をどこから取得するか?」だと思うのですが、質問内の(4)で設定したb_beanをb.jspで参照できるようにb.jsp内で定義してあげればいいと思います。

(1)b_servlet内でb_beanを作って値を入れる。
(2)b_servlet内でb_beanをリクエストに入れてあげる。(3)(2)のリクエストをb.jspで参照する。

理解がずれてたらごめんなさい。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報