Database 无法将数据保存在grails中的数据库中
我创建了一个简单的表单,并试图将数据保存到数据库中。每当我输入数据并按下保存按钮时,它会显示错误,但当我手动键入url时,它会显示成功,但数据不会保存在数据库中 域:Database 无法将数据保存在grails中的数据库中,database,grails,Database,Grails,我创建了一个简单的表单,并试图将数据保存到数据库中。每当我输入数据并按下保存按钮时,它会显示错误,但当我手动键入url时,它会显示成功,但数据不会保存在数据库中 域: package com.anurag class List { String name Date joining int phone boolean permanent float salary static constraints = { } } package co
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
}
}
}
}
<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>
控制器:
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
}
}
}
}
<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>
package com.anurag
导入groovy.sql.GroovyRowResult
类ListController{
静态defaultAction=“showData”
ListService ListService
def showData={
java.util.List结果=listService.getList()
[结果:结果]
}
def输入数据={
}
def saveData={
def list=新列表(参数)
if(list.validate()){
list.save()
呈现“成功!”
}
否则{
list.errors.allErrors.each{
打印它
}
}
}
}
inputData.gsp:
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
}
}
}
}
<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>
姓名:
加入:
电话号码:
永久:
薪水:
您在此处使用的
在这种情况下,表单的操作
将由actionSubmit按钮的值
属性决定(因为您没有在g:actionSubmit标签中使用'action'属性)也就是说,您的表单将在保存
操作中提交,而不是表单标签中定义的操作。如果您希望表单在表单标签中定义的url处提交,您只需使用
标签即可
为了进一步参考,您可以检查什么错误?是什么确保您没有在那里使用
java.util.List
?它说错误404:List/showData.jsp找不到请参见选择视图
。您必须告诉渲染内容或提供“视图”