如何在GSP中找到控制器的动作?

时间:2011-05-11 10:13:47

标签: forms grails controller action gsp

我是grails的新手,我遇到了另一个问题。

我的单个GSP search.gsp 中有两个表格,我的控制器中有两个操作搜索和结果

现在,当我点击我的某个GSP文件中的搜索按钮时,我需要搜索操作,这会让我看到search.gsp。此时它应该只显示我的第一个表单。当我点击该表单中的结果按钮时,我将转到结果操作。它有代码行。

  

重定向(动作: “搜索”,则params:[商户:商户,地址:地址])

这将带我回到搜索操作,但现在我想在search.gsp ..

中显示第二个表单

我的问题是

  • 如何使用参数's进行一次搜索操作,使用参数once进行一次?
  • 如何在GSP中确定调用了哪个操作?

提前谢谢。

2 个答案:

答案 0 :(得分:2)

根据表单的不同,您可能需要考虑使用两个单独的GSP文件(例如search.gsp和results.gsp)。使用render(view:'action', model:[...])在控制器中呈现不同的视图。这通常比具有大量条件的单个文件更清晰。

否则,您可以使用${params.action}查找操作,例如:

<g:if test="${params.action == 'search'}">
   Text to show if the action is search
</g:if><g:else>
   Text to show if the action is results
</g:else>

答案 1 :(得分:0)

我建议您将结果页面分隔为模板(_search.gsp),并从结果操作中进行渲染。这就是你在不同文件中使用不同形式的方式。

顺便说一下,模板只是一个ajax响应,谷歌搜索有关grails模板的详细信息。