#はじめに
今回はEclipseでServletプログラムを作成するの続きを行います。
今回目指すのはJSPで入力した値をServletで取得してJSPに渡すことを目指します。
※JSTLを使用した方が容易に実装できますが今回は簡単な処理なため使用しません。
##実行環境
- Eclipse4.16
- Tomcat9
- Java11
##JSPからServletへ受け渡し
まずはJSPを編集します。
sample.jsp
<form action="/SampleTest" method="post">
<input type="text" name="param">
<input type="submit" value="登録">
</form>
inputタグのname属性でServletで受け取るための名前を設定します。
次にServletのdoPostメソッドを編集します。
SampleTest.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); // 文字化けしないように文字コードを設定。
String param = request.getParameter("param"); // JSPのname属性を設定した入力値を取得する。
request.setAttribute("param", param); // JSPに渡すためにparamという変数に設定する
request.getRequestDispatcher("/WEB-INF/view/sample.jsp").forward(request, response);
}
これでJSPへ渡す準備は整いました。
最後にJSPで受け取る処理を記述する。
sample.jsp
<form action="/SampleTest" method="post">
<input type="text" name="param">
<input type="submit" value="登録">
</form>
<%= request.getAttribute("param")%>
スクリプトレット(<% Javaコード; %>)
はJSPファイルでJavaのコードの使用が出来る
スクリプト式(<%= Javaコード %>)
を使用して変数やメソッドの戻り値などを出力する。
##実行
ここまで出来たらサーバーを起動する。
入力値を入力し登録ボタンを押下すると
下に入力値が表示されれば成功!
#最後に
これで前回と合わせてServletの基礎を学びました。
次回からWebアプリケーションを作成します。