精通Grails: GORM - 有趣的名称,严肃的技术 - 编程入门网
节将会看到如何添加更具描述性的标签。
图 2. 一对多关系:多方 裸对象 前面刚刚了解了在 Airline POGO 上添加提示(静态的 hasMany)如何影响表在幕后的创建方式以及 前端生成的视图。这种使用裸对象 修饰域对象的模式(请参阅 参考资料)在 Grails 中应用得非常广泛 。将这条信息直接添加到 POGO 内,就消除了对外部 XML 配置文件的需求。所有信息都在一个位置内, 可以显著提高生产率。 例如,如果想消除显示在组合框中的主键的泄漏,只要在 Airline 类中添加 toString 方法就可以, 如清单 6 所示: 清单 6. 在 Airline 中添加 toString 方法
精通Grails: GORM - 有趣的名称,严肃的技术(4)时间:2011-07-25 IBM Scott Davis从现在开始,在组合框中显示的值就是航线的名称。这里真正酷的地方在于:如果 Grail 依然在运行 ,那么只要保存 Airline.groovy,修改就会生效。请在浏览器中新建一个 Trip,看看这样做的效果。因 为视图是动态生成的,所以能够迅速地在文本编辑器和浏览器之间来回切换,直到看到合适的视图 — 不 需要重新启动服务器。 现在我们来解决字段按字母顺序排序的问题。要解决这个问题,需要向 POGO 添加另一个配置: static constraints 块。请按清单 7 所示的顺序将字段添加到这个块(这些约束不影响列在表中的顺序 — 只影响在视图中的顺序)。 清单 7. 修改 Airline 中的字段顺序
将修改保存到 Airline.groovy 文件,在浏览器中新建一个航线。现在里面的字段应该按照在清单 7 中指定的顺序出现,如图 3 所示: 图 3. 自定义的字段顺序 在您准备责备我没有必要在 POGO 中输入两次字段名称而违背 DRY 原则(不要重复你自己)时(请参 阅 参考资料),请稍等一下,因为将它们放在独立的块内有很好的理由。清单 7 的 static constraints 块内的大括号不会总是空白。 精通Grails: GORM - 有趣的名称,严肃的技术(5)时间:2011-07-25 IBM Scott Davis数据验证 除了指定字段顺序, static constraints 块还允许在里面放置一些验证规则。例如,可以在 String 字段上施加长度限制(默认是 255 个字符)。这样就能确保 String 值与指定的模式(例如电子邮件地 址或 URL)匹配。甚至还能将字段设置为可选或必需的。关于可用的验证规则的完整列表,请参阅 Grails 的联机文档(请参阅 参考资料)。 清单 8 显示的 Airline 类中在约束块内添加了验证规则: 清单 8. 将数据验证添加到 Airline
保存修改后的 Airline.groovy 文件,在浏览器中新建一条航线。如果违反了验证规则,会收到警告 ,如图 4 所示: 图 4. 验证警告 可以在 grails-app/i18n 目录的 messages.properties 文件中对警告消息进行自定义。请注意,默 认的消息已经用多种语言进行了本地化(请参阅 Grail 联机文档中的验证一 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |