六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 70|回复: 0

1.一个简单登录grailsDemo

[复制链接]

升级  63.33%

37

主题

37

主题

37

主题

秀才

Rank: 2

积分
145
 楼主| 发表于 2013-1-27 04:42:00 | 显示全部楼层 |阅读模式
首先创建domian object
class User{     Long id      String email     String  password     //重写toSting()方法      //email是grooy语法      String toString(){"$email"}           //定义约束      def   constraints=     {          email(email:true)     }}

然后我们在grails-app/conf写下这些代码,它的意思是在系统启动时候创建两个User对象。
class   ApplicationBootStrap{     def init={ servletContext->          new User(email:"chenwentaokl@yahoo.com.cn",password:"pass").save()     }      def desroy={     }}

接着我们创建一个Plant对象,该类的toString(),equals,hashCode()和java上是一样的
class Plant{      .      .   //属性变量定义    def  constraints={          //初始化一个select         annual(inList:["a","b"])   }   Stirng toString(){"${this.class.name}:${id}"}   //*equels方法重写    boolean equeals(other){        if(other?.is(this)) return true         if(!(other instaceof Plant)) return false         if(!id||!other?.id||id=other?.id) return false                  return true             }    int hashCode(){        int hashcode=0        hash code=29*(hashcode+(!id?0:id...))    }}

我们来编写PlantController
class PlantController{       //类似一个前置通知,在执行所有此类方法前将调用        //&是一个引用或指针,except表示除了index,list.etc.等方法将不执行前置        //c,u,d这些方法讲进行前置通知      def beforeInterceptor=[action:this.&checuUser,except:['inde','list','show']]      def  scaffold=true      def checkUser(){          //可以看到这里直接使用session         if(!session.user){             //我们把控制权交个UserController的login方法             redirect(controller:'user',action:'login')             return false          }      }}

在看看UserContoller
class UserController{         //自定义一个登录方法     def doLogin={         //params貌似一个Map,里面存储着各种参数         def user=User.findWhere(email:params['email'],password:params['password'])           session.user=user           if(user)                  redirect..           else                 ...    }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表