groovy.lang.MissingMethodException new1.EmployeeController.findByUsername()

时间:2016-06-03 11:30:23

标签: grails groovy

我试图创建一个注册页面,它从用户那里获取用户名和密码并将其存储在我的数据库中,但问题是,数据不会仅限数据库

你可以在这里看到图像

[https://drive.google.com/file/d/0B9gjSzsLSnClR1VvU0RUa3liRWs/view?usp=sharing][1]

  

保存方法看起来喜欢这个

@Transactional
def save(){
    if(params == null){
        redirect(action:"index")
        flash.message=''
        return
    }
    def employee = findByUsername(params.username);
    System.out.println(employee.username);  
    if(employee!=null){
        flash.message="username already exist"
        render(view:"signup")
    }
    else{
        def newEmp = new Employee();
        newEmp.username=params.username
        newEmp.password=params.password
        if(newEmp.save(flush:true)){
            flash.message="Employee created"
            render(view:"index")
        }
        else{
            flash.message="Please enter valid data"
            render(view:"signup")
        }
        if(newEmp.save(flush:true)) {
            flash.message = "User Created. Please Login"
            render(view:"index") 
        } else {            
            flash.message = "Please enter valid data";
            render(view:"signup") 
        } 
    }
}
  

查看页面如下所示

<form id="signupform" action="./save" method="POST" class="form-horizontal" role="form">                
                    <g:if test="${flash.message}">
                        <div class="alert alert-danger" role="alert">${flash.message}</div> 
                    </g:if>
                    <div class="form-group">
                        <label for="username" class="col-md-3 control-label">Username</label>
                        <div class="col-md-9">
                            <input type="text" class="form-control" name="username" placeholder="Username">
                        </div>
                    </div> 
                    <div class="form-group">
                        <label for="password" class="col-md-3 control-label">Password</label>
                        <div class="col-md-9">
                            <input type="password" class="form-control" name="password" placeholder="Password">
                        </div>
                    </div> 
                    <div class="form-group">
                        <!-- Button -->                                        
                        <div class="col-md-offset-3 col-md-9 text-center">
                            <button id="btn-signup" type="submit" class="btn btn-info"><i class="icon-hand-right"></i>Sign Up</button> 
                        </div>
                    </div> 
                </form>

1 个答案:

答案 0 :(得分:0)

替换它:

def employee = findByUsername(params.username);

使用:

def employee = Employee.findByUsername(params.username);

必须在您希望它们返回的类型上静态调用所有动态查找程序方法