精通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 的要求。

创建 User 类

Blogito 虽然已经支持条目,但它尚不支持用户。因此,必须先创建一个新的 User 类。

围绕模糊 URI 的争论

所有人都同意一个 URI 必须能够惟一识别一种资源,但是,围绕它是否应该为了可读性而提供额外元 数据的争论仍然十分激烈。有些人认为加重 URI 的负担,使其既具有惟一性又具描述性十分危险。他们 认为描述性好的 URI 太长且太脆弱,而且还不必要地将资源标识符与底层技术连接起来。

上述这些担心都很合理,但是我却对 URI 不透明性的公认不敢苟同。我认为可读的 URI 对用户更为 友好,而且利远远大于弊。清晰的 URI 容易记,若遇到问题,也容易调试,而且如果它们遵循了透明约 定,还能使 Web 站点的自描述更好而且更易于被发现。

Grails 争取透明性的第一步是在 URI 内公布对象名和控制器方法。在本文中,我将通过用更为友好 的文本标识符代替主键来继续这场有关其合理性的争论。但是为了证明我能看到问题的两个方面的优点, 在需要简明 URI 而不是描述性更好的 URI 时,我衷心赞同使用类似 tinyurl.com 这样的 Web 站点。

首先,在命令行提示符键入 grails create-domain-class User。接下来,将清单 1 内的代码添加到 grails-app/domain/User.groovy:

清单 1. User 类

class User {
  static constraints = {
   login(unique:true)
   password(password:true)
   name()
  }

  static hasMany = [entries:Entry]

  String login
  String password
  String name

  String toString(){
   name
  }
}

时间: 2024-09-12 01:40:15

精通Grails: 用定制URI和codec优化Grails中的URI的相关文章

如何用matlab遗传算法优化simulink中的参数

问题描述 如何用matlab遗传算法优化simulink中的参数 我想用matlab遗传算法优化simulink中的参数,用simulink的输出作为适值函数,把待优化的参数作为染色体,从而在matlab中实现遗传算法,但是不知道应该怎么把simulink和matlab联系起来,希望大家能帮我解决这个问题.

SEO优化过程中经常被忽略的细节

很多新手SEOER在网站优化过程中,经常会忽略一些细节,而正是由于这些细节没有处理恰当,导致网站两三个月都没有排名.在长期的工作实践中,我总结出来主要有以下三点: 1.死链接的处理 死链接就是无效路径.如果死链接没有被处理过,那么当用户访问这条死链接的时候,网站就会显示默认的错误页面给用户,这个页面叫做404页面.默认未经设置的404页面对于用户而言是不友好的,会大大增加用户的跳出率.因此,我们有必要设置一个适合网站的404页面,该页面的功能是将用户引导回我们的网站.处理完影响用户体验的404页

互联网产品优化过程中的经验

文章描述:互联网产品优化经验分享. 产品上线后,无论是否达到预期,都有非常大的优化空间,以下列一些产品优化过程中的经验,仅供参考: 一.建立产品监控体系 从宏观上来看产品要关注的大的点,并把其拆开,如果能实时监控最好,不能实时的全部放在报表中,每天看一次也可以,从中可以发现产品在大的点上是否出了问题! 举例:邀请回来的用户,有多少成功注册了,这里可以设置成一个转化率,如果某个点突然有较大的变化,能及时发现. 这里为什么说只列大的点呢!如果切分开,点就太多了,在作局部优化时可以把大点切分成小的点来

网站运维优化过程中遇到的优化挫折分析

网站运维优化过程中遇到的优化挫折分析 众所周知,网站优化是中小企业选择互联网营销最重要的手段之一,互联网的飞速发展,导致人们对于搜索引擎的需求激增,不可避免的网站优化工作也应运而生,在优化网站的同时,我们不仅仅要认识搜索引擎带来精准流量和转化率的同时,必须时刻警惕,网站优化过程中会面临的种种不稳定性因素,好了闲话短续今天今天主题,网站运维优化过程中遇到的优化挫折分析. 第一,高质量的原创文章撰写难度分析.不可否认很多优化人员都是建站或者程序出身,自身文案水平会存在一些瑕疵,加之互联网产品大同小异

SEO优化过程中的十大陷阱之程序篇

小弟自从五年前接触SEO以来,每天都致力于SEO优化技术的学习与探讨中,成为了一名标准的职业SEOER,虽然这期间经历了这么长的时间,但由于自己的执行力实在是不敢恭维,所以直到现在手上还没有一个拿得出手.可以见人的不错的网站. 但尽管如此,五年的经验累积,五年的时间沉淀,让我在SEO行业里也能勉强算得上是一名先驱者.永远无法与昝辉老师那样的领军人物相提并论,也无法与华罡SEO的灵魂人物祝真老师相比,但这么长时间在SEO领域的摸爬滚打也让我对SEO有了自己的一份独特的见解. 从今天起就让我来为大家

网站优化过程中自己常用的几种外链建设方式对比分析

众所周知,网站优化过程中网站内容优化和外链建设可能会占据我们每天很大一部分优化工作量,尤其对于中小企业来说,关键词排名往往是企业老板和经理最为关注的核心点,在这种情况下如何快速提高网站权重和关键词排名是很多企业站seoer不得不面对的问题,因为只有企业站获得不错的权重和排名之后,才有资本去做长尾,去做很多有附加值的流量,而高质量的外链建设对于中小企业站来说,是权重提升最直接也是最有力度的方式.好了闲话短续,笔者今天分享的是自己在进行网站外链操作过程中,进行的一些外链建设思路分析.   第一,站长

分享站长seo优化过程中容易犯的细节错误

互联网进入人们生活后,网络营销已经成为企业主要的营销方式,seo优化的技术也被各大企业所重视,鉴于搜索引擎算法的不断更新,站长们在优化过程中可能会犯一些细节错误,笔者给大家总结了些常见的seo优化错误,分享给大家共同学习,也欢迎大家补充交流. 一.百度快照不代表关键词排名 百度快照是百度蜘蛛对当前页面抓取返回的存档,很多站长的优化观点中存在:快照日期越新,网站权重值越高,关键词排名越好,反之越低.事实可证明肯定的说,快照与排名关系不大,网站快照的更新频率与权重并不存在任何直接的关系. 二.黑帽s

搜索引擎优化过程中常用的搜索指令

在搜索引擎优化过程中,我们经常用到的是在搜索引擎中输入某某符号来检查网站的收录.链接等等.但是搜索引擎在一开始就准备了很多检查的指令,只是大家很少用过,所以今天整理了搜索引擎优化过程中常用的搜索指令来帮助大家更加清晰的了解搜索引擎,了解网站. 一.双引号""和书名号<>指令--完全匹配搜索 在输入了含有双引号的关键词后,返回的结果是完全匹配了关键词"搜索引擎优化图片"文字的结果,而下面的图片则是包含关键词"搜索引擎优化图片"且可能是分

网站优化过程中更新文章是否是“必修课”

有些人觉得网站优化中,网站的内容信息更新很重要,其实在我个人看来,网站内容固然重要,更新的时候还是要分情况,分细节的去有针对性的进行更新,不然所做的工作到最后有可能是无用功.网站内容固然非常重要,比如告诉搜索引擎我们的网站是我们SEO酒后一帖?还是通过增加几篇文章或者几段文字,甚至每天不辞劳苦的去增加原创文章,其实不瞒大家说,SEO酒后一帖的陈小欢也是这样做的.另外,我曾经遇到过这样的站长,他会觉得网站的排名与首页有直接的关系,与用户的体验没有多大的影响,因此,他花很多心思去修改网站首页的文字,