如何在 Grails 中使用嵌入的 GORM 类?

2024-03-31

GORM 文档 http://grails.org/doc/2.2.0/guide/GORM.html#gormComposition我尝试在 Grails 2.2.1 中使用以下域类:

package grailscompositiontest

class ScafPerson {
    String name
    ScafAddress homeAddress
    ScafAddress workAddress

    static constraints = {
        name(nullable: false, blank: false)
    }

    static embedded = ['homeAddress', 'workAddress']
}

class ScafAddress {
    String number
    String code
}

控制器只使用脚手架:

package grailscompositiontest

class ScafPersonController {
    static scaffold = true
}

不幸的是,这不起作用,当我浏览到“创建”视图时,它会触发服务器错误:

URI:     /GrailsCompositionTest/scafPerson/create
Class:   java.lang.NullPointerException
Message: Cannot get property 'id' on null object

知道我做错了什么吗?


前几天我遇到了同样的问题。我相信脚手架功能使用的模板中可能存在错误。您可以更新模板,或者如果您不想破坏模板,请运行生成全部正如 Benoit 提到的,然后修复生成的视图。

更新模板:

  1. grails> 安装模板
  2. 打开 src/templates/scaffolding/renderEditor.template
  3. 找到以下行:


    sb << ' value="${' << domainInstance << '.' << property.name << '}"'
  

并更改为



    sb << ' value="${' << domainInstance << '?.' << property.name << '}"'
  

要修复生成的视图:

  1. grails> 生成所有 grailscompositiontest.ScafPerson
  2. 打开视图/scafPerson/_form.gsp
  3. 寻找


    <g:field name="id" type="number" value="${scafAddressInstance.id}" required=""/>
    <g:field name="version" type="number" value="${scafAddressInstance.id}" required=""/>
  

并更改为



    <g:field name="id" type="number" value="${scafAddressInstance?.id}" required=""/>
    <g:field name="version" type="number" value="${scafAddressInstance?.id}" required=""/>
  

Note因为你有家庭地址/工作地址,所以你会做两次

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Grails 中使用嵌入的 GORM 类? 的相关文章

随机推荐

  • 在 UITableViewCell 中进入编辑模式时隐藏 UITableViewCells(类似于联系人应用程序)

    有谁知道如何在进入编辑模式时隐藏分组 UITableView 中的多个单元格 我希望当退出编辑模式时 行能够以动画效果隐藏 如联系人应用程序中所示 如您所知 在联系人编辑模式下 行数比切换回正常模式时要多 我想知道如何顺利 切换 请注意 我
  • 结合多种功能

    我正在尝试制作一个 DNA 转录程序 但我的做法遇到了麻烦 我确信有一种更简单的方法可以做到这一点 但这是我想到的第一件事 但事实并非如此按照我想要的方式工作 dnaToRna Char gt Char dnaToRna dnaToRna
  • 使用 IntelliJ IDEA for JavaScript 的最佳插件和项目? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在使用 MEAN 堆栈构建一个 Web 应用程序 MongoDB http www mongodb com Express htt
  • 处理子资源完整性检查中的加载错误

    我正在实施子资源完整性检查 我想实现一个回退 以便 1 浏览器从我的 CDN 加载 执行完整性检查并继续 或者 2 如果完整性检查失败 嵌入式脚本将启动并从我的应用程序检索所需的脚本服务器 我控制的资源 我有一个简单的 javascript
  • 列出特定 AMI 的所有可能的实例类型?

    我知道以前曾有人问过这个问题 但我尚未找到用于获取给定 Amazon AMI 的可能实例类型列表的解决方法或解决方案 我正在使用 NET SDK 有没有人能够找到一种方法来做到这一点 这不可能 AMI 只是磁盘的映像 AWS 通常 可以检测
  • C#,“未将对象引用设置为对象的实例。”错误

    我有这个代码 namespace YellowBox public partial class Form1 Form private string sid FileTransferManager fm new FileTransferMan
  • UpsetR 更改图表中的集名称标签

    我正在尝试将 UpsetR 图中的集合名称标签 使用 Upset 函数 更改为多个单词的字符串 我希望将集合标签显示为 A 描述 B 描述 C 描述 而不是 A B C 作为集合标签 我不想在单词之间使用句号或下划线 test lt ups
  • 有没有办法在 PHP4 中模拟 PHP5 的 __call() 魔术方法?

    PHP5有一个 神奇的方法 call 可以在调用未定义方法时调用的任何类上定义 它大致相当于 Ruby 的method missing或者 Perl 的AUTOLOAD 在旧版本的 PHP 中可以做这样的事情吗 我缺少的最重要的一点是 ca
  • 修复未加引号的 PHP 数组键

    或者更确切地说 修复用作 PHP 数组键的未加引号的字符串 但这对于标题来说有点长 我继承了一个相当大的代码库 其中数组的编写方式如下 array id 0 array value test 虽然这段代码实际上有效 但它抛出了很多Use o
  • 计算 3D(或 n 维)质心的最佳方法是什么?

    作为工作项目的一部分 我必须计算 3D 空间中一组点的质心 现在我正在以一种看似简单但天真的方式来做这件事 通过取每组点的平均值 如下所示 centroid average x average y average z where x y a
  • 科学记数法 android java

    我用java为android编写了一个简单的计算器 我使用 double 作为变量 它给我的结果在达到一定数量的小数后以科学计数法表示 尽管仍然有足够的小数空间 有没有什么简单的方法可以将科学符号转换为 正常 符号 我现在可以分别用一个按钮
  • 如何查看node.js发送到服务器的请求?

    关于这个问题 在 Nodejs Protractor 中将 Cookie 从一个请求传输 传递到另一个请求 https stackoverflow com questions 42078780 transfer pass cookies f
  • PHP 中的标头会覆盖 HTTP 响应代码

    在 Apache 级别解决设置规则时 发现 php 中的 header Location filename php 覆盖了响应代码 看下面的代码 Expected result HTTP 1 1 308 永久重定向 主机 本地主机 8000
  • 如何显示 SVG 文件中的所有符号?

    我有一个 SVG 文件 如下所示
  • 将数据库初始化调用放入 C# 构造函数中可以吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我见过这是各种代码库 并且想知道这是否普遍不受欢迎 例如 public class MyClass public int Id public M
  • 为什么我必须在 Fortran 中隐式指定函数的双精度返回值?

    我是 Fortran 新手 我正在尝试common堵塞 我的代码很简单 program main implicit double precision p real 8 x y common yvalue y x 3d0 y 3d0 prin
  • 使用 MongoDB 的 MapReduce 选择不同的多个字段

    我想在 MongoDB 上执行这个 SQL 语句 SELECT DISTINCT book author from library 到目前为止 MongoDB 的 DISTINCT 一次仅支持一个字段 对于多个字段 我们必须使用 GROUP
  • 具有多种模式的 Python Regex Sub

    我正在尝试使用正则表达式子分组来匹配多个模式 并将匹配替换为与下面的字符串具有类似格式的数据文件的星号 然而 我只得到了第一场比赛所需的结果 随后的匹配正在消耗我没想到的字符串 有没有更好的方法来获得下面所需的输出 import re my
  • Knockoutjs 自定义绑定在项目完全渲染之前执行

    我正在尝试对项目列表执行回调以使用数据表 http datatables net 现在我想在渲染所有项目之后执行回调 而不是在渲染每个项目之后执行回调 跟随那个所以问题 https stackoverflow com questions 1
  • 如何在 Grails 中使用嵌入的 GORM 类?

    继GORM 文档 http grails org doc 2 2 0 guide GORM html gormComposition我尝试在 Grails 2 2 1 中使用以下域类 package grailscompositiontes