快速业务通道

精通Grails: 改变Grails应用程序的外观 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
认的排序顺序,则必须在 EntryController.groovy 中手动编辑列表闭包。在现有的代码行下面添加两个排序代码行并不困难(见 清单 6)。问题是不能再从幕后动态构建这个代码(可以查找 src/templates/scaffolding/Controller.groovy 或输入 grails generate-controller Entry 查看默认 的底层实现)。

清单 6. Grails 1.0.x 中的排序

def list = {    if(!params.max) params.max = 10    if(!params.sort) params.sort = "lastUpdated"    if(!params.order) params.order = "desc"    [ entryList: Entry.list( params ) ] }

Grails 1.1 将一个很简单但极为有用的特性添加到静态映射块,即 sort。将清单 7 中的映射块添加 到 Entry.groovy。通过在域类中处理排序,您可以继续对控制器执行 def scaffold 操作。

清单 7. 将 sort 添加到 static mapping 块

class Entry {   static constraints = {    title()    summary(maxSize:1000)    dateCreated()    lastUpdated()   }   static mapping = {    sort "lastUpdated":"desc"   }    String title   String summary   Date dateCreated   Date lastUpdated }

重启 Grails,确保编辑后的条目移动到列表的顶端,如图 3 所示:

图 3. 验证新的排序顺序

精通Grails: 改变Grails应用程序的外观 - 编程入门网

精通Grails: 改变Grails应用程序的外观(5)

时间:2011-08-02 IBM Scott Davis

在开发模式下创建伪记录

每次重启 Grails 时将丢失现有的条目,您注意到了吗?记住,这是一个特性,而不是 bug。在每次 启动 Grails 时将创建条目表,并且在关闭 Grails 时删除它们。打开 grails- app/conf/DataSource.groovy 验证这个特性。很明显,开发模式中的 db-create 值设置为 create-drop 。

可以将该值更改为 update,但这也不是很理想。在开发过程的前期,模式是很不稳定的 — 您可以随 时添加或删除字段,或修改限制条件等等。在所有东西稳定下来之前,我觉得最好将 db-create 设置为 create-drop。

在开发模式中经常要重新输入样例数据,为了使这个操作没那么繁琐,可以为 grails- app/conf/BootStrap.groovy 添加一些逻辑。清单 8 中的代码在 Grails 每次启动时插入新的记录:

清单 8. 在开发模式中添加伪记录

import grails.util.GrailsUtil class BootStrap {   def init = { servletContext ->    switch(GrailsUtil.environment){     case "development":      new Entry(       title:"Grails 1.1 beta is out", summary:"Check out the new features").save()      new Entry(       title:"Just Released - Groovy 1.6 beta 2", summary:"It is looking good.").save ()     break     case "production":     break    }   }   def destroy = {   } }

再次重启 Grails。这一次,条目表中将出现现有的记录,如图 4 所示:

图 4. 在引导时出现的伪记录

精通Grails: 改变Grails应用程序的外观 - 编程入门网

精通Grails: 改变Grails应用程序的外观(6)

时间:2011-08-02 IBM Scott Davis

改善列表的外观

列表视图中的默认 HTML 表对入门人员已经足够好,但对 Blogito 而言,这明显不是长期解决办法。 blog 页面通常垂直地显示 date、title 和 summary 字段,而不是横向地显示(每次显示一个字段)。

为进行这种更改,输入 grails generate-views Entry。前面动态构造的 GSP 文件现在应该出现在 grails-app/views/entry 中。在文本编辑器中打开 list.gsp。在头部将标题从 Entry List 更改为 Blogito。删除 <h1> 和 <g:if> 块,然后用清单 9 中的代码代

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号