您好,我想重新填写表单中的登录名和密码值

 <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输入数据。

在这里,我假设您的prenompassword属性包含在名为User的对象中。

@PostMapping("/add")
public String authentification(@ModelAttribute("authentification") User user) {
    // Your mentioned business logic
}


如果您的prenompassword属性未包含在对象中,而仅仅是您要获取的String,则可以执行以下操作:

@PostMapping("/add")
public String authentification(@RequestParam String prenom, @RequestParam String password) {
    // Your mentioned business logic
}


2个字符串prenompassword的名称必须等于HTML文件中特定属性的name标记(即name="prenom"name="password"),否则您将收到null作为参数控制器方法中名称不相同的属性。

如果要将HTML名称绑定到HTML属性,但想给控制器方法参数命名不同,则@RequestParam注释提供一种方法来指定将其绑定到的预期HTML参数名称。例如。 @RequestParam("prenom") String somethingDifferentsomethingDifferent绑定到名为prenom的HTML属性。

10-07 19:52