WEB开发网
开发学院软件开发Java 精通 Grails: 用定制 URI 和 codec 优化 Grails 中... 阅读

精通 Grails: 用定制 URI 和 codec 优化 Grails 中的 URI

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示:在 “改变 Grails 应用程序的外观” 一文中,我们看到了如何使用层叠样式表(CSS)对一个 Grails 应用程序 — Blogito blog 站点 — 进行外观更改,精通 Grails: 用定制 URI 和 codec 优化 Grails 中的 URI,这次,我

在 “改变 Grails 应用程序的外观” 一文中,我们看到了如何使用层叠样式表(CSS)对一个 Grails 应用程序 — Blogito blog 站点 — 进行外观更改。这次,我将向您展示如何影响 Web 应用程序的命脉: 用于导航的 URI。这对于像 Blogito 这样的 weblog 极其重要。指向单个条目的那些永久链接(permalink)被像名片一样在 Internet 上传递;描述性越好,就越有效。

要获得描述性更好的 URI,需要定制控制器代码以支持个性化的 URI。还需要处理 UrlMappings.groovy 文件来创建新的路径。最后,您将创建一个定制的 codec 来更为轻松地生成定制 URI。

了解 URI

URI 中的 U 在正式的场合下代表的是 Uniform,但是也可以表示 Unique。如果 URI http://www.ibm.com/developerworks 不能确切标识您目前所处于的 Web 站点,它就没什么用处了。它还能使资源 的标识符 更容易让人记住。通过键入 http://129.42.56.216 虽然可以进入该站点,但是很少有人愿意去记忆这个 Web 站点的用圆点分隔的数字形式的 IP 地址。

所以,URI 至少必须是惟一的。理想情况下,它还应该容易被人记住。Grails 绝对能够满足第一个要求。它综合使用了控制器名称、闭包名称以及数据库记录的主键以确保 URI 的惟一性。比如,如果想要向用户显示数据库内的第一个 Entry,就让他们在其浏览器内键入 http://localhost:9090/blogito/entry/show/1。

虽然在 URI 内包含主键的默认设置十分合理,但我认为它还是在两个方面违背了美学标准。首先,实现牵涉的内容较多。这个附带的数据库工件贯穿了整个 Web 站点。Google、Amazon 和 eBay 都在后台使用了数据库,但是很难在它们的 URI 内找到任何数据库的迹象。其次,从 URI 删除主键是出于语义的要求。Jane Smith 的 blog 的读者更愿意用 jsmith 作为她的标识,而不是一个数字 12。同样地,按标题而不是主键列出 blog 条目更能满足可记忆 URI 的要求。

1 2 3 4 5 6  下一页

Tags:精通 Grails 定制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接