java - 我的百里香 html 表单在这里有什么问题?为什么密码显示值为空?
问题描述
我有一个基本形式,它接受来自用户的值。问题是 type=text 的所有 html 字段都可以正常工作并将值发送到我的 java 后端 API,但只有 input type=password 会将空值发送到 API。
我的 HTML 代码:
<form action="#" th:action="@{/register}" th:object="${register}" method="post">
<input id="inputt" placeholder="First Name" onclick="thisv1()" type="text" th:field="*{fname}" >
<br>
<input id="inputt1" placeholder="Last Name" onclick="thisv2()" type="text" th:field="*{lname}">
<br>
<input id="inputt2" placeholder="Email" onclick="thisv3()" type="text" th:field="*{email}">
<br>
<input id="inputt3" placeholder="Password" onclick="thisv4()" type="password" th:value="*{password}">
<br>
<input type="submit" id="submit" name="Submit" value="Submit">
</form>
我的弹簧控制器代码:
@GetMapping("/register")
public String form(Model model){
model.addAttribute("register",new Register());
return "register";
}
@PostMapping("/register")
public String SubmitForm(@ModelAttribute Register register){
DB.addValues(register.getFname(),register.getLname(),register.getEmail(),register.getPassword());
return "result";
}
注册类代码:
public class Register {
private String fname;
private String lname;
private String email;
private String password;
public void setFname(String fname){
this.fname=fname;
}
public void setLname(String lname){
this.lname=lname;
}
public void setEmail(String email){
email=email.toString();
this.email=email;
}
public void setPassword(String Password) {
this.password = password;
}
public String getFname(){
return fname;
}
public String getLname(){
return lname;
}
public String getEmail(){
return email;
}
public String getPassword(){
return password;
}}
我在这里做错了什么?
解决方案
将您的表单字段密码声明更改为:
<input id="inputt3" placeholder="Password" onclick="thisv4()" type="password" th:field="*{password}">
您应该将 thymeleaf 输入字段映射到 java 对象字段。所以,它应该是 th:field,而不是 th:value。
th:value 表示输入的实际值。
推荐阅读
- loops - 如何为循环的每次迭代触发 Ansible Play
- spring - @SpringBootConfiguration,运行 mvn clean install 时需要使用@ContextConfiguration
- class - Lua 类方法
- python - Pandas 中所有先前行的条件运行计数
- python - 如何让pyautogui的点击在mac上工作?
- python - 如何在 Django 中为点对点交易建模?
- jquery - 如何使用两个不同的 JQuery 函数?
- android - 将 gatt 特性写入 BLE 设备时出现问题
- javascript - SQLITE 查询的“排序依据”结果未排序
- python - Pypyodbc TabError:缩进中制表符和空格的不一致使用