Grails - 如何从表单中调用控制器方法

时间:2017-07-07 15:34:44

标签: grails groovy gsp

我对grails完全不熟悉,我感谢任何帮助。 这段代码在我的gsp文件中:

<g:form action="backfillMachineTags">
            <fieldset class="buttons">
                <g:submitButton name="create" class="save"
                                value="${message(code: 'default.button.create.label', default: 'Create')}"/>
            </fieldset>
        </g:form>

此代码位于我的RegressionPoolMachineController.groovy文件中:

def backfillMachineTags()
    {
        flash.message = "testing message"
        redirect(action: "list")
    }

但是当我单击表单上的提交按钮时,从未输入该方法,我找不到404。

消息:/池的管理器/ regressionPoolMachine / backfillMachineTags

状态:请求的资源不可用。

我也尝试过:

<g:form url="[action:'backfillMachineTags',controller:'RegressionPoolMachineController']">

但是找不到类似的404。

我错过了连接表单和控制器的步骤吗?

2 个答案:

答案 0 :(得分:1)

尝试添加&#34;控制器&#34;除了&#34; action&#34;属性。您可以使用url而不是控制器和操作,但是您需要类似的东西 Ctrl+/代替您在此处显示的内容。

供参考:http://docs.grails.org/2.5.6/ref/Tags/form.html

您还可以在浏览器中查看生成的HTML(仅查看源代码),并查看生成的网页上实际生成的内容。这通常非常有助于找出为什么事情不会发生在你想要的地方!

答案 1 :(得分:1)

尝试使用以下内容:

<g:form controller = "controllerName" action ="actionName" >
    <fieldset class="buttons">
        <g:submitButton name="create" class="save" value ="${message(code: 'default.button.create.label', default: 'Create')}"/>
    </fieldset>
 </g:form>