无法在grails中保存数据库中的数据

时间:2014-12-28 10:00:20

标签: database grails

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

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>

1 个答案:

答案 0 :(得分:0)

您在<g:actionSubmit value="Save"/>处使用此情况action表格将由{action}邀请按钮的value属性决定(因为您没有在g:actionSubmit中使用'action'属性标签)即此处您的表单将在save操作时提交,而不是在表单标记中定义的操作。您只需使用<g:submitButton name="save" value="Save" />标记如果您希望表单应在表单标记中定义的网址提交。

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