Grails中的DataBinding数据绑定

数据绑定是将request提交的参数“绑定”到一个对象的属性或者一个完整的对象的行为。数据绑定将处理所有来自请求参数必要的类型装换,典型的传送通过表单提交 , 参数类型始终是字符串,尽管Groovy或Java对象的属性可能不一定是字符串。

方式一:

    def save={

        def b = new Book(params)

        b.save()

       }

 

方式二:

    def save={

        def b = Book.get(params.id)

        b.properties = params

        b.save()

       }

 

假如有个请求:/book/save?book.title=The%20Stand&author.name=Stephen%20King

方式三:

def b = new Book(params['book'])

def a = new Author(params['author'])

 

方式四:

def p = Person.get(1)

p.properties['firstName','lastName'] = params

这种情况下,只有firstName和lastName被绑定

 

方式五:

使用bindData方法

def p = new Person()
bindData(p, params)    //将params绑定到对象p上

bindData(p, params, [exclude:'dateOfBirth'])    //将params中除了dateOfBirth之外的属性绑定到对象p

bindData(p, params, [include:['firstName','lastName]])   //只绑定params的firstName和lastName属性刀对象p

 

类型转换

数据绑定时,经常会遇到类型转换的情况,Grails1.2.2提供了一种简单的方式进行转换

def total = params.int('total')

grails将total自动转换为int绑定到total变量。除了int方法外,Grails1.2.2还提供了boolean, long, char, short等方法。这些方法都进行了null安全和解析时的安全转换,所以不用进行额外的检查。

以上方法还支持GSP的标签库参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值