【问题标题】:Cannot save data in database in grails无法将数据保存在grails中的数据库中
【发布时间】:2015-02-24 20:12:39
【问题描述】:

我创建了一个简单的表单并尝试将数据保存到数据库中。每当我输入数据并按保存按钮时,它都会显示错误,但是当我手动输入 url 时它显示成功,但数据没有保存在数据库中。

域:

package com.anurag

class List {
    String name
    Date joining
    int phone
    boolean permanent
    float salary

    static constraints = {
    }
}

控制器:

package com.anurag

import groovy.sql.GroovyRowResult

class ListController {
    static defaultAction = "showData"
    ListService listService

    def showData = {
        java.util.List<GroovyRowResult> result = listService.getList()
        [result: result]
    }

    def inputData = {

    }

    def saveData = {
        def list = new List(params)
        if(list.validate()) {
            list.save()
            render "Success!"
        }
        else{
            list.errors.allErrors.each{
                println it
            }
        }
    }
}

inputData.gsp:

<meta name="layout" content="main"/>

<script type="text/javascript">

</script>

<g:form controller="list" action="saveData">
    <label>Name: </label>
    <g:textField name="name"/><br/>

    <label>Joining: </label> <g:textField name="joining"/><br/>

    <label>Phone No.: </label> <g:textField name="phone"/><br/>
    <label>Permanent: </label> <g:textField name="permanent"/><br/>
    <label>Salary: </label> <g:textField name="salary"/><br/>

    <g:actionSubmit value="Save"/>
</g:form>

【问题讨论】:

标签: database grails


【解决方案1】:

您在这里使用&lt;g:actionSubmit value="Save"/&gt; 在这种情况下action 的表单将由actionSubmit 按钮的value 属性确定(因为您没有在g:actionSubmit 标记中使用'action' 属性),即这里是您的表单将在save 操作而不是表单标记中定义的操作提交。您可以简单地使用&lt;g:submitButton name="save" value="Save" /&gt; 标记如果您希望表单应在表单标记中定义的 url 提交。

如需进一步参考,您可以查看Grails doc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多