Hello World

    我们从之前创建的myapp 项目开始,编辑 app/views/App/Index.html模板, 添加下面的表单:

    刷新页面,看看我们的改动变化没。

    让我们尝试提交该表单看看变化。

    提示出错了,没有找到控制器方法Hello. 让我们为App控制器添加Hello方法 app/controllers/app.go:

    1. return c.Render(myName)
    2. }

    下一步, 我们创建一个视图(模板文件). 创建一个 app/views/App/Hello.html文件, 内容如下:

    刷新页面,你会看到一个问候:

    Hello Robfig

    我们需要使用 . 编辑 App 控制器的 Hello 方法 app/controllers/app.go:

    1. func (c App) Hello(myName string) revel.Result {
    2. c.Validation.Required(myName).Message("Your name is required!")
    3. c.Validation.MinSize(myName, 3).Message("Your name is not long enough!")
    4. c.Validation.Keep()
    5. c.FlashParams()
    6. return c.Redirect(App.Index)
    7. }

    现在可以保存用户名并返回到 Index页面了,如果没有输入有效的名称,那么名字和验证错误都保存在 Flash, 这是一个临时的cookie。flash.html 模板会显示错误或提示信息。

    当验证未通过时,我们希望用户可以重新提交之前对其进行编辑。修改您模板app/views/App/Index.html template:

    1. <form action="/App/Hello" method="GET">
    2. <input type="text" name="" value=""/><br/>

    现在,当我们提交一个字母作为我们的名字:

    成功,我们得到了一个错误提示。输入的内容被带回编辑。