下記の Webフォーム で入力された値を Java で受け取ります。
➀ Webフォーム
<!--
<form method="post" action="/shop/doLoginUsingForm">
ユーザ ID:<input type="number" name="userId" />
パスワード:<input type="password" name="password" />
<input type="submit" value="ログイン" />
</form>
-->
② Java Beans
public class LoginForm { //クラス名は任意に設定できます
private int userId; //フォームのパラメータ名とクラスのフィールド名は一致させます
private String password;
public int getUserId() {return userId;} //ゲッタ
public String getPassword() {return password;}
public void setUserId(int userId) {this.userId = userId;} //セッタ
public void setPassword(String password) {this.password = password;}
}
③ Java Controller
@Controller
public class SessionController {
@GetMapping(path = "/loginUsingForm") //POST送信以外の時=値を受け取らないとき
public String loginUsingForm() {
return "session/loginUsingForm"; //何もせずに loginUsingForm へフォワード
}
@PostMapping(path = "/doLoginUsingForm") //POST送信で値を受け取ったとき
public String doLoginUsingForm(LoginForm form) { //フォームの値をformに取得
System.out.println("ユーザ ID:" + form.getUserId()); //form.userId をゲッタでコンソールに表示
System.out.println("パスワード:" + form.getPassword()); //form.password をゲッタでコンソールに表示
return "session/loginUsingForm"; //loginUsingForm へフォワード
}