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

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

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

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

Java

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

829閲覧

Java jspファイルにてサーブレットにチェックボックスのチェックされていない時の値を渡したい。

SUGAWARA

総合スコア5

JSP

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

Java

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2022/06/02 02:17

formにてjspファイルよりサーブレットに、チェックボックスにチェックが入っていなかった場合も値を渡したく、以下のようにhiddenを使い、チェックボックスに値が入っていなかった場合にvalueにゼロを渡しているのですが、
チェックボックスにチェックを入れても入れなくてもhiddenの方の0が渡されてしまいます。
サーバー環境はTomcat9_java17

test.jsp
イメージ説明

test.java
イメージ説明

日記アプリを作成していて、全体公開、非公開に分けたくチェックボックスをつくり、この形式で公開非公開で分けようとしたところ、この問題にひかかったので一旦別ファイルをつくり、デバックにてテストするため、(シンプルな作りでもhiddenのvalueの0がチェックをしても返されてしまうのかを確かめるために作ったため)作りはとても簡単になっています。

試した事
<label>をつけてみる
・idをつけてみる(両方につける、片方につけるどちらも試し済み)
・name="check"をname="check[]"にしてみる(両方につける、片方につけるどちらも試し済み)

参考にしたサイト
https://chulip.org/entry/20120829/1346256738

http://rnk.mitelog.jp/oyaji/2011/04/checkbox-ce65.html

何故このファイルを作ったんですか?などの怖い回答は申し訳ありませんが、お控えくださいますと幸いです。
再度書いておきますが、テストのために作りました。

何故hiddenをつけているのに、チェックをつけたらhiddenの0が返ってきてしまうのかが知りたいです。

どなたかご存じの方がいらっしゃいましたらご教授頂けると幸いです。
どうぞよろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ラジオボタンにして解決しました。

<label class="form-check-label" for="flexCheckDefault">   <input type="radio" name="Releasecheck" value=1 checked>     全体公開する   <input type="radio" name="Releasecheck" value=0> 限定公開にする </label>

お騒がせ致しました。

投稿2022/06/02 03:55

SUGAWARA

総合スコア5

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

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

0

ベストアンサー

そういう仕様だからです。
https://developer.mozilla.org/ja/docs/Web/HTML/Element/input/hidden

追記
通常この手の実装でhidden値を使う事はありません。
デフォルトを限定公開とし、全体公開にチェックが入っている場合のみ全体公開とするか、
ラジオボタンで限定公開、全体公開を選択させるのが一般的な手法だと思います。

投稿2022/06/02 02:50

編集2022/06/02 02:56
Luice

総合スコア771

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

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

SUGAWARA

2022/06/02 03:06

基本的な知識が抜けておりました。ご丁寧にありがとうございました。 SQLにチェックが入っている場合は1を、入っていない場合は0を登録し、1が入っている記事 のみ表示させる全体公開画面をつくっていたため、0または1を返したく調べておりました。 チェックが入っていない場合は0をSQLに入れるなどの処理を別に書くかなどもう一度 考えてみようと思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問