私の目標は、ログインとパスワードを処理してユーザーを認証することです。私はthis exampleを再現しようとしましたが、問題に直面しました。春MCV:データ入力を処理できません
私はエンティティユーザークラスを持っている:
@DynamicUpdate
public class EntityUser
{
String login;
String password;
public EntityUser() {}
public EntityUser
(
String login,
String password
)
{
this.login = login;
this.password = password;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
これは私の.jspというファイル断片である:
<form action="#" th:action="@{/loginCheck}" th:object="${user}" method="post">
<table border="1" width="30%" cellpadding="3">
<thead>
<tr>
<th colspan="2">Login Here</th>
</tr>
</thead>
<tbody>
<tr>
<td>User Name</td>
<td><input type="text" th:field="*{login}"/></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" th:field="*{password}"/></td>
</tr>
<tr>
<td><input type="submit" value="Login" /></td>
<td><input type="reset" value="Reset" /></td>
</tr>
</tbody>
</table>
</form>
そして、これが私のController.javaクラスの断片であります:
@RequestMapping(value = "/loginCheck", method = RequestMethod.GET)
public String userForm(Model model)
{
EntityUser user = new EntityUser();
user.setLogin("login");
user.setPassword("password");
model.addAttribute("user", user);
System.out.println(user.getLogin());
System.out.println(user.getPassword());
return "/loginCheck";
}
@RequestMapping(value = "/loginCheck", method = RequestMethod.POST)
public String processUser(@ModelAttribute(value="user") EntityUser user)
{
System.out.println(user.getLogin());
System.out.println(user.getPassword());
loginInfo = "Jakarta";
return "redirect:/controllers";
}
値を入力して[送信]ボタンを押すと、GETまたはPOSTメソッドが呼び出されず(コンソールには何も印刷されていません)、ページは/#
に移動しています。 form action="/HelloSpringMVC/loginCheck"
へ form action="#"
、 POSTメソッドが呼び出された置き換えるが、印刷された両方の文字列が「ヌル」です
だから、そこに間違って何ですか?誰も知っている?
EDITED:ここ は私pom.xmlとweb.xmlファイルです。
thymeleafが入力値をモデルのユーザーオブジェクトに渡すために使用されているように見えません。ビューの種類を組み合わせて使用しようとしています。 JSPとThymeleaf。あなたはおそらくどちらか一方に固執したいと思うでしょう。私はthymeleafに固執することを提案し、そのように解決策を働かせます。あなたはpom.xmlとMVCの設定クラスを含めることができますか? –
Pom.xmlおよびweb.amlが追加されました –