精通Grails: 文件上传和Atom联合 - 编程入门网
精通Grails: 文件上传和Atom联合时间:2011-08-02 IBM Scott Davis在过去几期的 精通 Grails 文章中,您一直在逐步构建一个小型的博客服务(Blogito)。在这篇文 章中,Blogito 将最终完工,成为一个实用的博客应用程序。您将为博客条目主体实现文件上传功能,并 添加自己制作的用于聚合的 Atom feed。 但是,在开始之前,请注意在上一篇文章(“身份验证和授权”)中,我加入的认证使 UI 中出现一 个细小的 bug。在加入新的特性之前,应该修复这个 bug。 修复隐藏的 bug 启动 Grails 时,grails-app/conf/Bootstrap.groovy 增加 2 个用户和 4 个新的博客条目。但是, 如果尝试通过 Web 界面增加博客条目,会发生什么?可以使用下面的步骤试试看: 以用户名 jsmith 和密码 wordpass 登录。 单击 New Entry。 添加标题和摘要。 单击 Create。 您将看到以下错误:Property [author] of class [class Entry] cannot be null。那么,这个 bug 是如何引入到应用程序中的?毕竟,bootstrap 代码还能正常工作。 在第一篇 Blogito 文章(“改变 Grails 应用程序的外观”)中,我让您通过输入 grails generate-views Entry 生成 Groovy Server Pages(GSP)视图。在随后的文章中,我更改了 domain 类 ,但是从未让您再回过头来生成视图。当我添加 Entry 与 User 之间的 1:M 关系时,磁盘上的 create.gsp 视图一直不变,如清单 1 所示。(还记得吗,belongsTo 创建一个名为 author 的字段,该 字段的类型为 User)。 清单 1. 打破 GSP 的 1:M 关系
不得不说,要使一切同步,最安全的方式还是通过动态脚手架生成视图 — 特别是在开发的早期,域 模型不断变化的时候,更是如此。当然,不能仅仅依靠通过脚手架生成的视图,但是,当您在磁盘上生成 GSP 时,使它们保持最新的责任就从 Grails 转移到您自己身上。 如果现在为 Entry 类生成视图的话,Grails 会提供一个组合框,其中显示一个 Author 列表,如清 单 2 所示。您自己不要 这样做 — 这只是为了演示。稍后我将提供两种不同的选项。 清单 2. 为 1:M 关系生成的组合框
精通Grails: 文件上传和Atom联合(2)时间:2011-08-02 IBM Scott Davis注意 <g:select> 元素。字段名为 author.id。在 “GORM - 有趣的名称,严 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |