
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
getStringの値がNULLの時の処理
-
配列にnullを代入すると、null...
-
Java配列でNullPointerExceptio...
-
BOOL値を逆にしたい
-
eclipseでoracle接続時のエラー...
-
if文を通らない
-
例外でBeanUtils.populateが、...
-
データベースからの値の取得
-
空欄のテキストフィールドの判...
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
-
1~100までの数字を表示したい
-
一定のスペースを空けて端を揃...
-
eclipseに記述したjavaファイル...
-
Randomメソッドの確率設定
-
実数からの小数部の取得
-
ループ処理の際、最後だけ","を...
-
IF関数でEmpty値を設定する方法。
-
変数を動的に利用するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
BOOL値を逆にしたい
-
getStringの値がNULLの時の処理
-
Java配列でNullPointerExceptio...
-
配列にnullを代入すると、null...
-
例外でBeanUtils.populateが、...
-
eclipseでoracle接続時のエラー...
-
C# ListBoxのインデックスの値...
-
HashMapがおかしい
-
Tomcatを再起動するとエラーが...
-
C#でラジオボタンとコンボボッ...
-
java 引数 戻り値のあるメソッド
-
JSPで複数のSQL実行につ...
-
JSPによる画面間のパラメータの...
-
セルの背景色の取得ができない
-
gas カレンダー祭日設定でエラー
-
Stringを返す getText()メソッ...
-
jsp/Servletの動的に増えるフォ...
-
if文で・・・
-
VB.net TreeViewコントロール
おすすめ情報