Forms 如何在GSP中找到控制器的哪个动作被调用?

Forms 如何在GSP中找到控制器的哪个动作被调用?,forms,grails,controller,action,gsp,Forms,Grails,Controller,Action,Gsp,我是grails的新手,我遇到了另一个问题 我在我的单一GSP搜索中有两个表单。GSP在我的控制器搜索和结果中有两个动作 现在,当我在我的一个GSP文件中单击搜索按钮时,它会将我带到搜索操作,这会使我搜索到search.GSP。此时,它应该只显示其中的第一个表单。当我点击该表单中的结果按钮时,它将带我进入带有代码行的结果操作 重定向(操作:“搜索”,参数:[商户:商户,地址:地址]) 这将使我返回搜索操作,但现在我想在search.gsp中显示第二个表单 我的问题是 如何使搜索操作一次在没有参

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

我在我的单一GSP搜索中有两个表单。GSP在我的控制器搜索和结果中有两个动作

现在,当我在我的一个GSP文件中单击搜索按钮时,它会将我带到搜索操作,这会使我搜索到search.GSP。此时,它应该只显示其中的第一个表单。当我点击该表单中的结果按钮时,它将带我进入带有代码行的结果操作

重定向(操作:“搜索”,参数:[商户:商户,地址:地址])

这将使我返回搜索操作,但现在我想在search.gsp中显示第二个表单

我的问题是

  • 如何使搜索操作一次在没有参数的情况下运行,一次在参数的情况下运行
  • 如何在普惠制中确定其行动是从哪一方面发起的

提前感谢。

< P>根据您的表单有多不同,您可能需要考虑有两个单独的GSP文件(例如,Sq.gSP和Realth.GSP)。使用
渲染(视图:'action',模型:[…])
在控制器中渲染不同的视图。这通常更清楚地表明,单个文件包含许多条件

否则,您可以使用
${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>

显示操作是否为搜索的文本
显示操作是否为结果的文本

我建议您将结果页分离为模板
(\u search.gsp)
,并将其从结果操作中呈现出来。这就是为什么在不同的文件中有不同的表单


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

谢谢你,丹..你的回答解决了这两个问题。谢谢。谢谢。你能回答我今天发布的关于Urlmapping的问题吗。