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

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

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

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

HTML

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

Q&A

解決済

1回答

1049閲覧

htmlのみで<button>や<submit>のvalueを遷移先のサーブレットへ送り、値を取得したい

kei0005

総合スコア19

JSP

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

HTML

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

0グッド

1クリップ

投稿2021/06/07 11:47

前提・実現したいこと

htmlおよびjspの初学者です。
学校の課題でJavaScriptやPHPを用いず、htmlのみで<button><submit>のvalueを遷移先のサーブレットやjspに送信したいのですが、いまいちやり方が分からずに困っております。

発生している問題・エラーメッセージ

html

1<form action="hogehoge-servlet" method="POST"> 2 <button type='submit' name='action' value='ADD'>追加</button> 3 <button type='submit' name='action' value='DELETE'>削除</button> 4</form>

や、

html

1<body> 2  <button type="submit" name="action" value="APPLE" onclick="location.href='hogehoe.jsp'">APPLEを送信</button> 3</body>

で正常にPOST(ADDやDELETE, APPLEの送信)ができているのでしょうか。

また、受信先のhogehoge-servletやhogehoe.jspで値を受け取るには、

request.getParameter("action");

でよろしいでしょうか。

該当のソースコード

html

1(送信元) 2<form action="hogehoge-servlet" method="POST"> 3 <button type='submit' name='action' value='ADD'>追加</button> 4 <button type='submit' name='action' value='DELETE'>削除</button> 5</form>

jsp

1(送信先:jspあるいはサーブレット) 2<!-- これでactionに送信元からのvalueが格納される? --> 3String action = request.getParameter("action"); 4System.out.println("あなたの押したボタンは、 " + action + " です"); 5

試したこと

ボタンを用いずに、<a href>タグのみではどうも値の引き渡しが出来なさそうでした

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

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

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

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

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

m.ts10806

2021/06/07 12:48

>JavaScriptやPHPを用いず 階層が違うので並べるのは間違っています。 それにサーブレット使うのなら、PHP使うのと同じです。
kei0005

2021/06/07 14:02

回答ありがとうございます。 「サーブレット使うのなら、PHP使うのと同じ」ということですが、サーブレットでもPHPでも String action = request.getParameter("action"); で表現できるということでしょうか
m.ts10806

2021/06/07 20:29

回答ではなく質問への追記修正依頼です。 認識がおかしいところがあるので指摘しています。 何か勘違いされてるように思います。 「サーバーサイドの言語」「クライアントサイドの言語」を正しく認識してください。 JavaもPHPもサーバーサイドの言語ですか、言語仕様が違うので同じ結果を出せても記述方法は全く違います。 「同じ」というのは「サーバーサイドの言語を利用する」という点が「同じ」です。
m.ts10806

2021/06/07 20:31

サーブレットを取り上げている入門書1つ通した方が良さそうです。 「質問と回答」という中だけで根本的な基礎までカバーはできませんし、 「Webアプリケーション」の本質部分の理解も必要。 学校でどこまで教えてるのか分かりませんが、学校の課題なら先生に聞いてください。カリキュラムが意図しないところを無責任な赤の他人が言えることはないです。 また、ネットでWebアプリケーションの概念やサーブレット入門的なものは幾らでも探せば出てきます。
K_3578

2021/06/08 00:34

なぜサーブレットの話してるのにPHPが出てくるのか意味が分からない
guest

回答1

0

自己解決

解決できました
皆さまありがとうございます

投稿2021/07/02 08:57

kei0005

総合スコア19

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

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

kei344

2021/07/02 09:39

【質問をした後に自己解決してしまった --- ヘルプ|teratail(テラテイル)】 https://teratail.com/help#resolve-myself > 後から読む人のためにも、具体的な解決手順を記載してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問