bean class 的 属性 'id' 无效:Bean 属性 'id' 不可读或具有无效的 getter 方法: return getter 匹配的类型
Invalid property 'id' of bean class: Bean property 'id' is not readable or has an invalid getter method: Does the return type of the getter match
现在我正在 java 使用 spring 框架 spring 引导版本 = '1.5.9.RELEASE'。但是每次我 运行 我的网络应用程序都会给我
org.springframework.beans.NotReadablePropertyException: bean class的属性 'id'无效 [java.util.ArrayList]: bean 属性 'id' 不是可读或具有无效的 getter 方法:getter 的 return 类型是否与 setter 的参数类型匹配?
在 org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:631) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
在 org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:622) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
在 org.springframework.web.servlet.support.BindStatus.(BindStatus.java:149) ~[spring-webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE]
在 org.thymeleaf.spring4.util.FieldUtils.getBindStatusFromParsedExpression(FieldUtils.java:401) ~[thymeleaf-spring4-2.1.6.RELEASE.jar:2.1.6.RELEASE]
我的用户 class 是
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class User {
@Id
private int id;
private String name;
private int age;
public User() {
}
public User(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
我的控制器class是
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/")
public String display(ModelMap modelMap){
User user = new User(1, "Endriyas", 21);
userService.addUser(user);
List<User> users = userService.getAllUser();
modelMap.put("users", users);
return "users";
}
}
我的 HTML 表格是
<div>
<form action="#" th:action="@{/}" th:object="${users}" method="post">
<div>
<label>
<span>ID</span>
</label>
<input type="number" th:field="*{id}"/>
</div>
<div>
<label>
<span>Name</span>
</label>
<input type="text" th:field="*{name}"/>
</div>
<div>
<label>
<span>Age</span>
</label>
<input type="number" th:field="*{age}"/>
</div>
<div>
<button type="submit" name="save">SAVE</button>
</div>
</form>
</div>
我需要帮助
谢谢
您正在传递一个用户列表(在控制器中),但实际上是以您想要保存一个用户的形式传递的。
为了只显示新创建的用户(使用默认值)
将代码更改为
@RequestMapping(value = "/")
public String display(ModelMap modelMap){
User user = new User(1, "Endriyas", 21);
userService.addUser(user);
User users = userService.getById(1);
modelMap.put("users", users);
return "users";
}
此外,您应该在服务中创建一个新方法
getById (that has an Integer as a parameter)
addUser方法是在数据库中保存用户吗?
如果没有,您只想向用户显示一些默认值
将代码更改为此
@RequestMapping(value = "/")
public String display(ModelMap modelMap){
User user = new User(1, "Endriyas", 21);
modelMap.put("users", user);
return "users";
}
现在我正在 java 使用 spring 框架 spring 引导版本 = '1.5.9.RELEASE'。但是每次我 运行 我的网络应用程序都会给我
org.springframework.beans.NotReadablePropertyException: bean class的属性 'id'无效 [java.util.ArrayList]: bean 属性 'id' 不是可读或具有无效的 getter 方法:getter 的 return 类型是否与 setter 的参数类型匹配? 在 org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:631) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE] 在 org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue(AbstractNestablePropertyAccessor.java:622) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE] 在 org.springframework.web.servlet.support.BindStatus.(BindStatus.java:149) ~[spring-webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE] 在 org.thymeleaf.spring4.util.FieldUtils.getBindStatusFromParsedExpression(FieldUtils.java:401) ~[thymeleaf-spring4-2.1.6.RELEASE.jar:2.1.6.RELEASE]
我的用户 class 是
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class User {
@Id
private int id;
private String name;
private int age;
public User() {
}
public User(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
我的控制器class是
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/")
public String display(ModelMap modelMap){
User user = new User(1, "Endriyas", 21);
userService.addUser(user);
List<User> users = userService.getAllUser();
modelMap.put("users", users);
return "users";
}
}
我的 HTML 表格是
<div>
<form action="#" th:action="@{/}" th:object="${users}" method="post">
<div>
<label>
<span>ID</span>
</label>
<input type="number" th:field="*{id}"/>
</div>
<div>
<label>
<span>Name</span>
</label>
<input type="text" th:field="*{name}"/>
</div>
<div>
<label>
<span>Age</span>
</label>
<input type="number" th:field="*{age}"/>
</div>
<div>
<button type="submit" name="save">SAVE</button>
</div>
</form>
</div>
我需要帮助
谢谢
您正在传递一个用户列表(在控制器中),但实际上是以您想要保存一个用户的形式传递的。
为了只显示新创建的用户(使用默认值)
将代码更改为
@RequestMapping(value = "/")
public String display(ModelMap modelMap){
User user = new User(1, "Endriyas", 21);
userService.addUser(user);
User users = userService.getById(1);
modelMap.put("users", users);
return "users";
}
此外,您应该在服务中创建一个新方法
getById (that has an Integer as a parameter)
addUser方法是在数据库中保存用户吗? 如果没有,您只想向用户显示一些默认值 将代码更改为此
@RequestMapping(value = "/")
public String display(ModelMap modelMap){
User user = new User(1, "Endriyas", 21);
modelMap.put("users", user);
return "users";
}