org.springframework.beans.NotReadablePropertyException:bean类[com.jit.model.Signup]的无效属性'user': [英] org.springframework.beans.NotReadablePropertyException: Invalid property 'user' of bean class [com.jit.model.Signup]:
问题描述
我试图在春季将数据保存到表中,但是当提交数据时显示此错误。
$ b org.springframework.beans.NotReadablePropertyException:无效的属性bean class [com.jit.model.Signup]的'user':Bean属性'user'不可读或具有无效的getter方法:getter的返回类型是否与setter的参数类型匹配?
控制员类别
@Controller
public class DatabaseController
{
@RequestMapping(/ signup.htm)
public String loginCheck(@ModelAttribute(bean)@有效注册Bean,BindingResult结果,HttpServletRequest请求,HttpServletResponse响应)抛出IOException {
Session session = HiberSession.getHiber();
if(result.hasErrors()){
返回注册;
} else {
session.save(bean);
返回abc;
}
Bean类
<$
@Id
@GeneratedValue
@Button
@Table(name =user)
public class Signup {
@ Column(name =uid)
private Integer uid;
@NotEmpty
@Column(name =name)
私人字符串名称;
@NotEmpty
@Column(name =father_name)
私人字符串父亲;
@NotEmpty
@Size(min = 4,max = 10)
@Column(name =password)
private String pass;
@NotEmpty
@Length(min = 10,max = 10)
@Column(name =contact)
private String contact;
@NotEmpty
@Column(name =city)
private String city;
@NotNull
@Column(name =introducer)
private Integer introducer;
@Column(name =status)
私有整数状态;
@Column(name =amount)
private Integer amount = 400;
public Integer getAmount(){
return amount;
}
public void setAmount(Integer amount){
this.amount = amount;
}
public Integer getUid(){
return uid;
}
public void setUid(Integer uid){
this.uid = uid;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String getFather(){
return father;
}
public void setFather(String father){
this.father = father;
}
public String getPass(){
return pass;
}
public void setPass(String pass){
this.pass = pass;
}
public String getContact(){
return contact;
}
public void setContact(String contact){
this.contact = contact;
}
public String getCity(){
return city;
}
public void setCity(String city){
this.city = city;
}
public Integer getIntroducer(){
return introducer;
}
public void setIntroducer(Integer introducer){
this.introducer = introducer;
}
public Integer getStatus(){
return status;
}
public void setStatus(Integer status){
this.status = status;
$ block $ $ b $ p signup.jsp
<%@ page language =javacontentType =text / html%> ;
<%@ taglib uri =http://java.sun.com/jsp/jstl/coreprefix =c%>
<%@ taglib prefix =formuri =http://www.springframework.org/tags/form%>
< html>
< head>
< style>
.error {
color:#ff0000;
}
< / style>
< / head>
< body>
< h3>新用户注册表单< / h3>
< form:form method =POSTcommandName ='bean'action =/ jit / signup.htm>
< table>
< tr>
< td>名称:< / td>
< td>< form:input path =name/>< / td>
< td>< form:errors path =namecssClass =error/>< / td>
< / tr>
< tr>
< td>父级名称:< / td>
< td>< form:input path =father/>< / td>
< td>< form:errors path =fathercssClass =error/>< / td>
< / tr>
< tr>
< td>密码:< / td>
< td>< form:password path =pass/>< / td>
< td>< form:errors path =passcssClass =error/>< / td>
< / tr>
< tr>
< td>联络电话号码:< / td>
< td>< form:input path =contact/>< / td>
< td>< form:errors path =contactcssClass =error/>< / td>
< / tr>
< tr>
< td>城市/村庄:< / td>
< td>< form:input path =city/>< / td>
< td>< form:errors path =citycssClass =error/>< / td>
< / tr>
< tr>
< tr>
< td>介绍人ID:< / td>
< td>< form:input path =introducer/>< / td>
< td>< form:errors path =introducercssClass =error/>< / td>
< / tr>
< tr>
< td colspan =3>< input type =submit/>< / td>
< / tr>
< / table>
< / form:form>
< / body>
< / html>
我会说你应该避免使用表名这是保留字,与休眠。当然你可以逃避它,但它可能会在将来引发问题(例如在查询中)。所以最安全的方法是以另一种方式命名表 - 例如 users
@Entity
@Table(name =users)
public class Signup {
}
i tried to save data in to table by spring but this error show when data submitted..
org.springframework.beans.NotReadablePropertyException: Invalid property 'user' of bean class [com.jit.model.Signup]: Bean property 'user' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
controller class
@Controller
public class DatabaseController
{
@RequestMapping("/signup.htm")
public String loginCheck(@ModelAttribute("bean") @Valid Signup bean,BindingResult result,HttpServletRequest request , HttpServletResponse response) throws IOException {
Session session= HiberSession.getHiber();
if (result.hasErrors()){
return "signup";
} else{
session.save(bean);
return "abc";
}
Bean class
@Entity
@Table(name="user")
public class Signup {
@Id
@GeneratedValue
@Column(name="uid")
private Integer uid;
@NotEmpty
@Column(name="name")
private String name;
@NotEmpty
@Column(name="father_name")
private String father;
@NotEmpty
@Size(min =4,max =10)
@Column(name="password")
private String pass;
@NotEmpty
@Length(min =10,max =10)
@Column(name="contact")
private String contact;
@NotEmpty
@Column(name="city")
private String city;
@NotNull
@Column(name="introducer")
private Integer introducer;
@Column(name="status")
private Integer status;
@Column(name="amount")
private Integer amount=400;
public Integer getAmount() {
return amount;
}
public void setAmount(Integer amount) {
this.amount = amount;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFather() {
return father;
}
public void setFather(String father) {
this.father = father;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getContact() {
return contact;
}
public void setContact(String contact) {
this.contact = contact;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public Integer getIntroducer() {
return introducer;
}
public void setIntroducer(Integer introducer) {
this.introducer = introducer;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}
signup.jsp
<%@page language="java" contentType="text/html"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<html>
<head>
<style>
.error {
color: #ff0000;
}
</style>
</head>
<body>
<c:if test="${not empty message}"><h2>${message}</h2></c:if>
<h3>New user registration form..</h3>
<form:form method="POST" commandName='bean' action="/jit/signup.htm">
<table>
<tr>
<td>Name :</td>
<td><form:input path="name"/></td>
<td><form:errors path="name" cssClass="error"/></td>
</tr>
<tr>
<td>Father Name :</td>
<td><form:input path="father"/></td>
<td><form:errors path="father" cssClass="error"/></td>
</tr>
<tr>
<td>Password :</td>
<td><form:password path="pass" /></td>
<td><form:errors path="pass" cssClass="error" /></td>
</tr>
<tr>
<td>Contact Number :</td>
<td><form:input path="contact"/></td>
<td><form:errors path="contact" cssClass="error"/></td>
</tr>
<tr>
<td>City/Village :</td>
<td><form:input path="city"/></td>
<td><form:errors path="city" cssClass="error"/></td>
</tr>
<tr>
<tr>
<td>Introducer ID:</td>
<td><form:input path="introducer"/></td>
<td><form:errors path="introducer" cssClass="error"/></td>
</tr>
<tr>
<td colspan="3"><input type="submit" /></td>
</tr>
</table>
</form:form>
</body>
</html>
I'd say that you should avoid having table names that are reserved words, with hibernate. Sure you can escape it, but it may cause problems in the future (in a query for example). So the safest way is to name the table another way - say users
@Entity
@Table(name="users")
public class Signup {
}
这篇关于org.springframework.beans.NotReadablePropertyException:bean类[com.jit.model.Signup]的无效属性'user':的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!