Grails行动问题

时间:2012-03-23 17:07:24

标签: grails

大家好,

我有一些Grails的问题。

<g:form action="search" method="post">

def search ={println('Hello')}

我不知道为什么当我跑掉它时告诉我&#34;请求的资源(/用户/用户/搜索)不可用&#34;。

但是当我试图编辑任何东西然后保存它已经完成了。然后我关闭并再次运行它也告诉&#34;请求的资源(/用户/用户/搜索)不可用&#34;。

请帮帮我。

谢谢!

1 个答案:

答案 0 :(得分:2)

所以我认为这是你的问题:

当控制器中的操作完成后,它需要知道要发送回请求的Web浏览器的内容。有两种主要方式可以告诉您的应用程序向用户发送的内容(或位置)。

重定向 - 您可以使用它来告诉应用将用户发送到应用程序的其他部分或任何URL。更多信息可以在这里找到:http://grails.org/doc/latest/ref/Controllers/redirect.html

呈现 - 您可以使用此功能告诉您的应用将某些文字呈现为对用户的响应。主要方法是直接指定文本,例如render "Hello",或者您可以告诉它用于呈现内容的模板或视图(GSP)。信息:http://grails.org/doc/latest/ref/Controllers/render.html

我认为您的问题是,如果您未在操作中使用其中任何一项(而您尚未使用),则默认行为是呈现与您的操作同名的视图 。所以我认为你的应用正试图在 user / search.gsp 上呈现一个视图(我猜)它不存在。

因此,如果您将操作更改为如下所示:

def search = {
    println("Hello 1")
    render("Hello 2")
}

您不应该出现错误,并且应该看到“Hello 2”返回到用户的Web浏览器。或者,您可以在 user / 目录中创建名为 search.gsp 的视图,然后该视图将用于返回给用户的内容。