JSPで、データが一覧表示されたフォームから、個々のデータの修正を行うプログラムを作成しています。そこで、一覧表示画面から、選択したデータの修正用の画面に遷移する際、パラメータが渡らずに、NULLでエラーとなってしまいます。
一覧表示部分のソースは以下のようになっています。
-------------------------------------
<TABLE CLASS = "noborder" width = "70%">
・・・
<%
while (rs.next()){
%>
<TR>
<TD>
<a href = "dai_update.jsp?cat_id=" + cat_id>修正</a>
<input type="hidden" name = "cat_id" value = "<%= ("cat_id") %>">
</TD>
<%
}
%>
</TABLE>
-------------------------------------
修正フォームのパラメータの受け取り部分のソースは以下のようになっています。
-------------------------------------
<%
Statement stmt = conn.createStatement();
String sql = "select cat_id, cat_name from quest_cat " +
"where cat_id ="+ request.getParameter("cat_id");
ResultSet rs = stmt.executeQuery(sql);
%>
-------------------------------------
お知恵を拝借できればと思います。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
ぱっと見て動かないことはないと思うのですが、
どうやって「パラメータが渡らずに、NULLでエラーとなってしまいます。」
と判断したのでしょう?
request.getParameter("cat_id");
で取得される値が本当にnullになっているのでしょうか?
それとは無関係にDB接続などでエラーになっているのではないですよね。
エラーの内容を表示してくれますか?
それと、気になるのは修正画面に遷移するときには、
<a href = "dai_update.jsp?cat_id=" + cat_id>修正</a>
のリンクをクリックするのですよね?
たぶん省略しているのだと思いますが、cat_idには値をセットしていますか?
もうひとつ、
<input type="hidden" name = "cat_id" value = "<%= ("cat_id") %>">
このhidden部分はなにに使われるんでしょうか?
リンクをクリックするのでしたら、hiddenは使用されないし、
そもそも固定で"cat_id"という文字列が入ると思うのですが。
一覧表示画面をブラウザで表示したときに、ブラウザの機能で、
「ソースを表示」を使って、自分の意図したHTML出力になっているか
確認してみるといいですよ。
返信が送れてすみません。
どうしてNULLだと思ったかと言うと、サーバの方で出力されるエラーで「NullPointerException」と出たので、パラメータかと思ったのですが。
<input type="hidden" name = "cat_id" value = "<%= ("cat_id") %>">は、次の画面へ遷移する際にパラメータを渡すのに必要と思い付加したんですが、リンクでidを持つので、確かに必要ないはずですね。
指摘されるまで気づきませんでした。
cat_idには値を入れています。
一覧表示をソースで見てみましたが、明かにおかしかったので、もう一度JSPのソースを見なおしてみます。
ありがとうございました。
No.2
- 回答日時:
> <a href = "dai_update.jsp?cat_id=" + cat_id>修正</a>
<a href = "dai_update.jsp?cat_id=<%=cat_id%>">修正</a>
ということではないですか?
HTML の世界では、スクリプトを除いて、文字列を「+」することはできまへん。
後、form の中に無いなら type="hidden" な input は意味が無いですね。
期待通りに動かないこととは関係ないですが。
返信遅れましてすみません。
ご指摘の通りで、<%= %>を付加し忘れてました。
hiddenも、下記の方に指摘された通り、必要ありませんでした。
もう一度JSPのソースを見なおします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
【選手権お題その3】この画像で一言【大喜利】
とあるワンシーンを切り取った画像。この画像で一言、お願いします!
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
JSPでリンクを利用してパラメータを次画面に渡す方法について。
Java
-
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列にnullを代入すると、null...
-
Java配列でNullPointerExceptio...
-
BOOL値を逆にしたい
-
C言語のポインターに関する警告
-
文字列の比較
-
ループ処理の際、最後だけ","を...
-
論理演算子”||”またはの入力方法
-
System.err. printlnとSystem.o...
-
StringBufferで改ページ処理を...
-
数字を読みに変換する方法について
-
入力文字列が数字かどうかの判別
-
【C#】フォームをなめらかに移動
-
Processingでマウスクリックで...
-
JAVA 文字色変更
-
hiddenの値が期待した値で取得...
-
エラーのStackTraceをString変...
-
javaが上手くいきません
-
DOSバッチで変数の値を変数名に...
-
1~100までの数字を表示し、か...
-
あるディレクトリにある複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
配列にnullを代入すると、null...
-
BOOL値を逆にしたい
-
Java配列でNullPointerExceptio...
-
getStringの値がNULLの時の処理
-
C# ListBoxのインデックスの値...
-
例外でBeanUtils.populateが、...
-
eclipseでoracle接続時のエラー...
-
HashMapがおかしい
-
Stringを返す getText()メソッ...
-
C#でラジオボタンとコンボボッ...
-
逆コンパイルの見方について(...
-
jsp/Servletの動的に増えるフォ...
-
if文を通らない
-
Tomcatを再起動するとエラーが...
-
java 画像変換 加工 サイズ変更
-
postgresql接続時
-
Javaでboolean型を使ってのうる...
-
javaの掲示板について
-
この世で連日正規表現について...
おすすめ情報