Mein Ziel ist die Autorisierung des Benutzers über die Handhabung von Login und Passwort. Ich habe versucht, this example zu reproduzieren, aber mit Problem konfrontiert.Spring MCV: Dateneingabe nicht möglich
Ich habe eine Entity Benutzer Klasse:
@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;
}
}
Das ist mein .jsp Dateifragment ist:
<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>
Und das ist Fragment meiner Controller.java Klasse:
@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";
}
Nachdem die Werte Eingang und Schaltfläche „Senden“ gibt es keine GET oder POST-Methode genannt (es gab keine Abzüge in der Konsole) gedrückt wird, und die Seite/#
Auf der anderen Seite bewegt, wenn ich ersetzen form action="#"
zu form action="/HelloSpringMVC/loginCheck"
, die POST-Methode aufgerufen wird, aber beide Strings gedruckt sind "null"
Also, was ist da los? Jeder weiß es?
EDITED: Hier sind meine pom.xml und web.xml Dateien.
Es sieht nicht so aus, als würde thymeleaf verwendet, um die Eingabewerte an das Benutzerobjekt in Ihrem Modell zu übergeben. Sie versuchen, eine Mischung aus Ansichtstypen zu verwenden. JSP und Thymoleaf. Wahrscheinlich möchtest du bei dem einen oder anderen bleiben. Ich schlage vor, mit Thymeliaw zu bleiben und die Lösung so zu bearbeiten. Können Sie die Klassen pom.xml und MVC config einbeziehen? –
Pom.xml und web.aml werden hinzugefügt –