【问题标题】:Grails - error 404 on form submit using g:actionSubmitGrails - 使用 g:actionSubmit 提交表单时出现错误 404
【发布时间】:2015-12-14 23:45:55
【问题描述】:

我是 Grails 的新手,在提交表单时遇到了麻烦。

这里是AnimaisController:

    package jogoanimais

    class AnimaisController {
        def index() { 
            def  animalsTreeObj =  AnimaisTreeMap.list()

            render(view: "show", model: [animalList: animalsTreeObj])       
        }

        def addNode()
        {
            log.info "add node"
            log.info params
        }

    }

这里是show.gsp

    <g:form controller="animais" action="addNode">  
                <div>Pense em um animal</div>

                <g:textField name="myField" value="${myValue}" />

                <g:actionSubmit value="OK, próximo"  />

                <g:each in="${animalList}" var="row" status="i">
                    <h3> ${row.nodeDescription}, ${row.yesAnswerNode}</h3>
                    <br/>
                </g:each>       
    </g:form>   

点击提交按钮后,请求的 URL 是“http://localhost:8080/jogoAnimais/animais/addNode”,我收到 404 错误。

我也尝试添加“action”do g:actionSubmit,但在这种情况下,Grails 请求了 addNode.gsp。

有人知道吗?

【问题讨论】:

  • 尝试在您的 addNode() 方法中呈现某种响应。
  • @mbaird 我试过了,日志中没有显示任何消息。
  • @mbaird 这也是解决方案。谢谢!

标签: grails form-submit


【解决方案1】:

解决办法如下:

普惠制:

添加g:form的“action”参数和输入类型“submit”如下图:

    <g:form controller="animais" action="addNode">  
        <div>Pense em um animal</div>

        <div>
            <label for="questionToUser">Questão:</label>
            <g:textField name="questionToUser" maxlength="50"/>
        </div>

        <input type="submit" value="Submit">    

        <g:each in="${animalList}" var="row" status="i">
            <h3> ${row.nodeDescription}, ${row.yesAnswerNode}</h3>
            <br/>
        </g:each>       
    </g:form>       

控制器:

正如mbaird 所说,我的“addNode”方法需要返回一些东西,如“render 'ok'”

【讨论】:

    猜你喜欢
    • 2017-08-24
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    • 2018-09-06
    • 2016-10-25
    • 2018-02-03
    • 2019-05-08
    • 2018-01-27
    相关资源
    最近更新 更多