在前面的文章中,我们能够使更新状态功能。但是,每次我们更新我们的状态,我们会被重定向到一个不同的页面。我们要的是在同一页上看到我们的更新。这意味着我们要使用AJAX。
我们将更新我们index.gsp中的文件或视图的状态。打开grails-app/views/status目录下的index.gsp文件
这是页面的一部分,将显示您的所有消息。
这是普通的JavaScript。当submit事件成功提交,它会自动清除的textarea里面的内容。
这应该是您更新后的文件:
我们定义了约束条件。我们希望消息最少2个字最大140个字。此外,我们不允许空白的消息。
更新后的文件应该看起来像这样:
我们将更新我们index.gsp中的文件或视图的状态。打开grails-app/views/status目录下的index.gsp文件
在</head> 前插入此行:
在</body>之前加入一个<div>块。
刷新页面,您会立即看到变化。
现在发生了什么?每次您点击Update Status按钮,新的状态显示在下面。然而,textarea没有变化。让我们编辑formRemote。
现在发生了什么?每次您点击Update Status按钮,新的状态显示在下面。然而,textarea没有变化。让我们编辑formRemote。
我们将上面的代码改成:
这应该是您更新后的文件:
index.gsp
What Are You Doing?
What Are You Doing?
在我们当前的应用程序中,很可能一个用户提交一个空的内容。我们需要控制这个输入。要做到这一点,让我们编辑grails-app/domain/org/grails/twitter目录下的Status.groovy文件:
static constraints = {
message size:2..140, blank:false
}
更新后的文件应该看起来像这样:
Status.groovy
package org.grails.twitter
class Status {
String message
Person author
Date dateCreated
static constraints = {
message size:2..140, blank:false
}
}
在接下来的教程中,我们将学习如何跟随其他用户,看到他们的状态。