LoginForm:usuario、senha、msgLoginクラス内に3つのフィールドを持つフォームを作成しようとしています。 入力ボックスからフィールドusuárioとsenhaを受け取り、同じフィールドとフィールドMsgLoginを持つ同じページにリダイレクトしようとします。しかし、私はmsgLoginフィールドを更新することができませんでしたし、なぜ私は理解していません。 これらがコードしている:Spring Boot ModelAndView - モデルに値を更新できません
HTML:
<form id="frmLogin" class="form col-md-12" action="#" th:action="@{/login}" th:object="${loginForm}" method="post">
<div class="form-group">
<label for="usuario" class="col-md-1">Usuário: </label>
<input type="text" id="usuario" placeholder="Email" th:field="*{usuario}"/>
</div>
<div class="form-group">
<label for="senha" class="col-md-1">Senha: </label>
<input type="password" id="senha" placeholder="senha" th:field="*{senha}"/>
</div>
<div class="row">
<button id="entrar">Entrar</button>
</div>
<div class="row">
<div id="msgLogin"></div>
<p th:text="${loginForm.msgLogin}" />
</div>
</form>
コントローラ:ロンボクを用い
@RequestMapping("/")
public String init(@ModelAttribute LoginForm loginForm) {
Logger.getAnonymousLogger().info("Tela Inicial.");
return "home";
}
@PostMapping("/login")
public ModelAndView entrar(LoginForm loginForm) throws IOException {
Logger.getAnonymousLogger().info("Entrando no Internet Banking.");
service.login(usuario, senha);
ModelMap model = new ModelMap();
loginForm.setMsgLogin("I want to update that value!");
model.addAttribute("loginForm", loginForm);
return new ModelAndView("redirect:/", model);
}
クラス:
@Getter
@Setter
public class LoginForm {
private String usuario;
private String senha;
private String msgLogin;
}
あなたは 'usuario'と' senha'と一緒に同じ形式で 'loginForm.msgLogin'の値を追加しますか?または他の? – Zico
実際に私は両方のことが欲しい。私はif条件を使用したいと思います。あるケースでは、同じフォームにmsgLoginフィールドを送信したいのですが、他のケースではusuárioとsenhaを別のフォームに送信したいと考えています。 – user3450923