org.springframework.beans.NotReadablePropertyException:bean类[com.jit.model.Signup]的无效属性'user': [英] org.springframework.beans.NotReadablePropertyException: Invalid property 'user' of bean class [com.jit.model.Signup]:

查看:149
本文介绍了org.springframework.beans.NotReadablePropertyException:bean类[com.jit.model.Signup]的无效属性'user':的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在春季将数据保存到表中,但是当提交数据时显示此错误。
$ 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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆