こんにちは、大学時代にプログラミングを始め、現在はエンジニアをしているuhablog(ウハブログ)です。
今回の記事ではサーブレットで選択されたラジオボタンの値を取得する方法を解説していきます。
サーブレットをはじめ、WEBアプリケーションの開発では、画面で入力された値を受け取る処理は頻繁にある基本中の基本です。
この記事を読んで、ラジオボタンの値を取得する方法を学び、今後のwebアプリ開発の参考にしていただければと思います。
挫折せずにプログラミングを学ぶために必要なこと
僕はプログラミングで挫折した経験があります。
それは周りに聞ける人がいなく、一人でエラーと戦っていたからです。
Freeksは月額10,780円という破格の値段で、現役エンジニアに質問する環境を手に入れることができるプログラミングスクールです。
次のような悩みを少しでも抱えていたら、まずは無料カウンセリングを受けてみてください。
申込みは1分でできます。学習する環境にお金を使うというのは良い自己投資になります。
>>Freeksの無料カウンセリングはこちら
ラジオボタンのデータを取得する方法
ラジオボタンというのは画面に表示されているいくつかの選択肢の中から一つを選択する際に利用されます。
例えば、次のように好きなプログラミング言語を一つ選択してもらう場合などに使うことが出来ます。
サーブレットで、このラジオボタンから選択された値を取得する場合には、HttpServletRequestオブジェクトに対して、getParameterメソッドを利用することで取得することが出来ます。
例えば先ほどの好きなプログラミング言語を選択するラジオボタンはhtmlで次のようになっています。
<label><input type="radio" name="lang" value="C">C</label><br>
<label><input type="radio" name="lang" value="Java">Java</label><br>
<label><input type="radio" name="lang" value="Python">Python</label><br>
<label><input type="radio" name="lang" value="PHP">PHP</label><br>
<label><input type="radio" name="lang" value="Ruby">Ruby</label><br>
このラジオボタンから選択されたデータを取得する際にはgetParameterメソッドの引数として、inputタグのname属性として指定している「lang」を渡すことでvalue属性で指定されている値を受け取ることが出来ます。
具体的には次のように記述します。
String lang = request.getParameter("lang");
getParameterメソッドの利用方法についてはこちらの記事で詳しく解説しているので、合わせてご覧ください。
サーブレットでラジオボタンの値を取得するサンプル
今回は画面で好きなプログラミング言語を選択し、選択された値をサーブレットで受け取って、画面に表示するプログラムを作成します。
まず最初に画面でラジオボタンを表示するhtmlは次のようになります。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ラジオボタンの値を取得する</title>
</head>
<body>
<p>好きな言語を選択してください</p>
<form action="get-radio" method="get">
<label><input type="radio" name="lang" value="C">C</label><br>
<label><input type="radio" name="lang" value="Java">Java</label><br>
<label><input type="radio" name="lang" value="Python">Python</label><br>
<label><input type="radio" name="lang" value="PHP">PHP</label><br>
<label><input type="radio" name="lang" value="Ruby">Ruby</label><br>
<input type="submit" value="送信"><br>
</form>
</body>
</html>
続いてラジオボタンで選択された値を受け取り、画面表示するサーブレットです。
package uhablog;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/get-radio")
public class GetRadio extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// パラメータの受け取り
String lang = request.getParameter("lang");
// HTML生成
response.setContentType("text/html;charset=Shift_JIS");
PrintWriter out = response.getWriter();
StringBuffer sb = new StringBuffer();
sb.append("<html>");
sb.append("<head>");
sb.append("<title>受け取った値の表示</title>");
sb.append("</head>");
sb.append("<body>");
sb.append("<p>好きな言語は");
sb.append(lang);
sb.append("なんですね</p>");
sb.append("</body>");
sb.append("</html>");
out.println(new String(sb));
out.close();
}
}
実行結果
サーバーを起動し、画面表示します。
「Java」を選択して、送信ボタンを押すと画面に「好きな言語はJavaなんですね」と表示されます。
以上がサーブレットで選択されたラジオボタンの値を取得する方法です。
挫折せずにプログラミングを学ぶためには?
挫折せずにプログラミングを学ぶために必要なこと
僕はプログラミングで挫折した経験があります。
それは周りに聞ける人がいなく、一人でエラーと戦っていたからです。
Freeksは月額10,780円という破格の値段で、現役エンジニアに質問する環境を手に入れることができるプログラミングスクールです。
次のような悩みを少しでも抱えていたら、まずは無料カウンセリングを受けてみてください。
申込みは1分でできます。学習する環境にお金を使うというのは良い自己投資になります。
>>Freeksの無料カウンセリングはこちら
【関連記事】Freeks評判、口コミ