在Grails中创建一个简单的Twitter应用程序(第4部分)
来源:互联网 发布:东方财富数据接口破解 编辑:程序博客网 时间:2024/06/12 22:52
我们必须做的第一件事,是安装搜索插件。
打开的grails-app/domain/org/grails/twitter目录下的Person.groovy文件。将下面的代码放在constraints()闭包之前。完整的代码应该看起来像这样:
Person.groovy
我们在<body>之后添加这些代码。
完整的代码应该看起来像这样:
index.gsp
我们现在在浏览器中检查我们的应用程序。可以看到一个名为SearchableController的新控制器。此控制器将处理所有搜索请求。这是由搜索插件创建的。
我们可以看到在我们状态视图中有一个新的文本域,这是一个我们刚才添加的。当我们搜索一个人,例如说“john”(john在记录中已经存在),然后在键盘上回车,我们就会被重定向到搜索结果页面。
然而,我们希望更改结果会更好看一点。通过覆写搜索控制器的视图来实现。
在grails-app/views目录下,我们创建一个新文件夹并命名为“searchable”。这个文件夹里面,我们创建一个新文件,并命名为“index.gsp”。
这是index.gsp文件的内容。
index.gsp
在页面中我们看到一个搜索结果。后面还提供了一个链接,用于跟踪某一个用户。
我们现在在浏览器再次打开应用程序。
正如我们所看到的,搜索结果页面已经更新。
然而,当我们点击链接,出现一个错误404。这背后的原因是,我们没有在StatusController.groovy里面定义链接的方法,用于在此控制器来处理链接事件。
我们这段代码添加在index() 闭包之后。该方法只是根据链接用户的ID找到与之关联的其他用户,然后将用户重定向到index.gsp。
当我们再一次检查和刷新应用程序,可以看到,当我们点击跟随,我们不再遇到错误了。我们是那么重定向到状态索引页之后。虽然我们没有看到它,但我们现在就是john。
让我们打开不同的浏览器用john名字登录。
我们发布一个新的状态信息并看看yancy的时间轴会发生什么。
这是john的时间轴。
这yancy时间轴。当我们刷新页面,yancy在john之后发布了一个新状态,似乎我们仍然没有看到john的状态更新即使我们跟着他。
要解决这个问题,我们需要更新StatusController.groovy里面的currentUserTimeline()方法,我们添加了一个新的判断,用于判断搜索结果。在判断作者的代码之后,我们添加下面一行:
现在,在搜索结果中包括了搜索所有用户的状态。
更新后的文件应该看起来像这样:
StatusController.groovy
在本教程的最后一部分,我们会优化我们的Web应用程序并添加一些额外的功能。
- 在Grails中创建一个简单的Twitter应用程序(第4部分)
- 在Grails中创建一个简单的Twitter应用程序(第1部分)
- 在Grails中创建一个简单的Twitter应用程序(第2部分)
- 在Grails中创建一个简单的Twitter应用程序(第3部分)
- 在Grails中创建一个简单的Twitter应用程序(第5部分)
- SWT 和 JFace,第 1 部分: 如何创建简单的 SWT 应用程序
- SWT 和 JFace,第 1 部分: 创建简单的 SWT 应用程序
- SWT 和 JFace, 第 1 部分:如何创建简单的 SWT 应用程序
- 在 Eclipse Workbench 之外使用 Eclipse GUI,第 1 部分: 单独使用 JFace 和 SWT构建一个简单的文件资源管理器应用程序
- 一个简单的 Silverlight 4 应用程序(MEF+ MVVM+ WCF RIA Services)第一部分
- 一个简单的 Silverlight 4 应用程序(MEF+ MVVM+ WCF RIA Services)--第二部分
- 一个简单的 Silverlight 4 应用程序(MEF+ MVVM+ WCF RIA Services)第三部分
- 一个简单的 Silverlight 4 应用程序(MEF+ MVVM+ WCF RIA Services)第一部分
- 在.NET应用程序中进行Erlang风格的并行编程(第1部分)——CCR
- 九十、创建 一个简单的iOS应用程序
- 使用 Eclipse 在 Google App Engine 上创建 mashup之第 1 部分:创建应用程序
- 在MyEclipse中创建一个简单的stuts
- 在oracle中创建一个最简单的dblink
- 彻底明白Java的IO系统(文摘)---JAVA之精髓IO流!
- hdu1719 Friend
- 8月2日
- js窗口交互
- UVA 11795 Mega Man's Mission
- 在Grails中创建一个简单的Twitter应用程序(第4部分)
- spring ioc容器创建过程深入剖析
- 简单的题目2
- struts2的标签调用<%%>
- 工程管理工具make及makefile
- entity framework的配置步骤
- Java学习精品网站(陆续更新)
- hdu 2831
- POJ-2455-Secret Milking Machine