您好,我想重新填写表单中的登录名和密码值
<form action="#" modelAttribute="authentification" th:action="@{/user/add}" method="post">
<div class="form-group">
<label for="exampleInputEmail1">prenom</label>
<input type="text" class="form-control" id="prenom" name="prenom" placeholder="prenom">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" id="password" name="password" placeholder="Password">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
<button type="button" class="btn btn-link">Nouveau Client je M'inscris</button>
</form>
我确实想恢复输入密码和Prenom的值,但我没有找到执行此操作的好方法
控制器:
@Autowired
UserImplementation ui;
@PostMapping("/add")
public String authentification( Model m ,@PathVariable final String nom)
{
List<Utilisateur> user;
user =ui.getuser();
m.addAttribute("Utilisateur", ui.getuser());
for(Utilisateur u : user)
{
if(u.getPrenom().equals(nom))
{
return"clienthome";
}
else {
int i =10;
m.addAttribute("i", i);
return"index";
}
}
return "index";
}
最佳答案
您在PostMapping
方法authentification
中期望使用错误的参数。您可以执行以下操作,以便能够在控制器方法中获取HTML输入数据。
在这里,我假设您的prenom
和password
属性包含在名为User
的对象中。
@PostMapping("/add")
public String authentification(@ModelAttribute("authentification") User user) {
// Your mentioned business logic
}
如果您的
prenom
和password
属性未包含在对象中,而仅仅是您要获取的String
,则可以执行以下操作:@PostMapping("/add")
public String authentification(@RequestParam String prenom, @RequestParam String password) {
// Your mentioned business logic
}
2个字符串
prenom
和password
的名称必须等于HTML文件中特定属性的name
标记(即name="prenom"
和name="password"
),否则您将收到null
作为参数控制器方法中名称不相同的属性。如果要将HTML名称绑定到HTML属性,但想给控制器方法参数命名不同,则
@RequestParam
注释提供一种方法来指定将其绑定到的预期HTML参数名称。例如。 @RequestParam("prenom") String somethingDifferent
将somethingDifferent
绑定到名为prenom
的HTML属性。