grails控制器错误

时间:2011-05-10 01:38:02

标签: grails controllers

我有这个DomainClass:

package cm

class XXX{


    String city
    String website

    static constraints = {
     city(nullable: true)
     website(nullable: true)

    }

    static mapping = {
        id column:'xxx_id'
        city column: 'xxx_city'
        website column: 'xxx_website'
        table "xxx_XXX"
        version false

}
}

控制器:

class ConferenceController {

    static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

    def index = {
        redirect(action: "list", params: params)
    }

    def list = {
        params.max = Math.min(params.max ? params.int('max') : 10, 100)
        [XXXInstanceList: XXX.list(params), XXXInstanceTotal: XXX.count()]
    }

    def save = {
        def XXXInstance= new XXX(params)
        if (!XXXInstance.save(flush: true)) {
            render view: 'add', model: [XXXInstance: XXXInstance]
            return
        }

        //flash.message = "${message(code: 'default.created.message', args: [message(code: 'person.label', default: 'Person'), personInstance.id])}"
        redirect(uri:"/index.gsp")
    }

}

和我的add.gsp页面:

<head>

  <title> xXXx</title>
  <meta name="layout" content="main2" />


</head>

...


<g:form controller="XXX" action="save">

  <g:hasErrors bean="${XXXInstance}">
   <div class="errors">
      <g:renderErrors bean="${XXXInstance}" as="list" />
   </div>
</g:hasErrors>


    year
    <g:textField name="year" /><br>
    website
    <g:textField name="website" /><br>

    <g:submitButton name="save2" value="Save" />

     </g:form></div>
    </div>


              ...
</body>

使用当前的代码,一切正常,但是当一个约束失败时,它会显示相应的错误,但是写入的值已经消失了......我无法弄清楚这一点 - 我尝试了很多东西,但我确保解决方案和我的问题一样简单.-请帮助。

1 个答案:

答案 0 :(得分:0)

我认为您应该检查YOUR_PROJECT\grails-app\i18n文件夹中的* .properties文件。他们有翻译的定义。调查一段时间并参考document如果需要,您将了解Grails如何进行翻译。

取消注释控制器中的以下行:

//flash.message = "${message(code: 'default.created.message', args: [message(code: 'person.label', default: 'Person'), personInstance.id])}"