【Javaサーブレット&jsp入門#5】static変数の使い方・活用方法を解説!Webアプリのパラメータ名を定数で定義する

Java

今回の記事ではJavaのstatic変数を有効活用する方法について解説していきます!
この記事から始まっているServletを使ってTodoアプリを作成する中でstatic変数を使ってみます。
具体的にはそれぞれのjspやServletでパラメータを受け渡す際に文字列を直接書いていますが、それをまとめたクラスを作成します。

その他の機能はこちらにまとめています。
ご質問等あればこちらのTwitterアカウントまでお願いします。

「独学だと何から勉強したら良いかわからない」という方にはDig Skillがおすすめです!
Dig Skillでは月1000円でオリジナルのカリキュラムを使ってWebアプリの開発方法を学ぶことができます!30日間の無料体験もあるので、公式サイトをチェックしてみてください!

Parametersクラスの作成

まずstatic変数を定義するクラスを作成します。srcフォルダ内にconstantパッケージを作成します。その中にParameters.javaを作成します。中身は次のようになります。

package constant;

public class Parameters {

	/**
	 * Todoのidをやりとりするパラメータ
	 */
	public static final String TODO_ID = "todoId";

	/**
	 * Todoの内容をやりとりするパラメータ
	 */
	public static final String TODO = "todo";

	/**
	 * Todoの期限をやりとりするパラメータ
	 */
	public static final String TIME_LIMIT = "timeLimit";
}

今まで作成してきたTodoアプリではjspからServletに値を渡す際inputタグ内のname属性に文字列を直接書き、Servletではそこで書かれた文字列と同じ文字列を書いていました。
これでも問題はないのですが、タイピングミスでうまくパラメータの受け取りができなかったりとめんどくさい事になります。
しかしクラスを作成し、static変数で定義しておく事でこういったミスを防げるようになります。

list.jspの変更

まずはlist.jspを変更します。
jspファイルの上部に次のimport文を追加して先ほど作成したクラスを使用できるようにします。

<%@ page import="constant.Parameters" %>

jspファイル下の方にformがあります。
こちらの中身を以下のように変更します。

<form action="insert-servlet" method="post">
	<label>Todo: </label><input type="text" name="<%=Parameters.TODO %>"><br>
	<label>Limit: </label><input type="date" name="<%=Parameters.TIME_LIMIT %>"> <br>
	<input type="submit" value="Todoを登録する">
</form>

注目するのはinputタグ内のname属性の値です。
これまでは「name=”todo”」「name=”timeLimit”」と記述していました。
しかしこれらの文字列を先ほど作成したParametersクラスにstatic変数として宣言しましたので、これを利用します。

InsertServletの変更

InsertServletのdoPostメソッド内で送られてきたパラメータを受け取る箇所があります。
それを次のように変更します。

// リクエストパラメータのname属性がtodoの値を受け取る
String todo = (String) request.getParameter(Parameters.TODO);
// リクエストパラメータのname属性がtimeLimitの値を受け取る
Date timeLimit = Date.valueOf(request.getParameter(Parameters.TIME_LIMIT));

こちらで注目するのはgetParameterメソッドに渡している変数です。
これも変更前は「getParameter(“todo”)」「getParameter(“timeLimit”)」と直接文字列を記述していました。
これをParametersクラスで定義したstaticメソッドを使用します。

まとめ・次回予告

今回はWebアプリを作成していく過程でstatic変数を活用する方法を解説しました。
文字列を直書きしてパラメータの受け渡しを行なっていたところをstatic変数をまとめてもつクラスを作成する事でタイピングミスを減らしたりすることができます。

次はTodoの編集を行えるようにしていこうと思います。

ご質問等あればこちらのTwitterアカウントまでお願いします。

「独学だと何から勉強したら良いかわからない」という方にはDig Skillがおすすめです!
Dig Skillでは月1000円でオリジナルのカリキュラムを使ってWebアプリの開発方法を学ぶことができます!30日間の無料体験もあるので、公式サイトをチェックしてみてください!

コメント

タイトルとURLをコピーしました