如何在 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 类? 的相关文章

  • 告诉 GORM 不要保留属性

    有没有办法告诉 GORM 不要保留某个属性 我计划在我的 User 类上定义一个确认密码属性 我将使用它进行验证 但不应保留 使用瞬态关键字 GORM 可以指示不保留特定属性 以下代码片段显示了瞬态属性的使用 class Book stat
  • 如何在我的应用程序中取消授权/撤销 LinkedIn 令牌

    我有一个 grails 应用程序 我希望用户授予我访问他 她的 LinkedIn 帐户的权限 以获取信息并以不同的方式显示信息 我能够执行以下操作 获取授权码 使用该授权码获取访问令牌 我将该访问令牌与到期日期一起存储在我的用户实体中 当过
  • 根据环境执行特定的Geb测试

    我正在 Grails 项目中执行一组规范测试 当我在本地时 我需要执行一组特定的规范 当我运行预生产环境时 我需要执行另一组规范 我当前的配置正在同时执行两个环境的所有规范 这是我想避免的 我有多个环境 已在 GebConfig 中配置 e
  • GStringImpl 无法转换为 java.lang.String

    我使用 Grails 和 Spring Security 时收到以下错误 还有其他人遇到过这样的问题吗 如果是这样 你的解决办法是什么 Error Exception in thread Thread 15 Error java lang
  • Grails:SpringSecurity 角色层次结构未按预期工作

    我正在 Grails 2 0 1 中使用 springsecurity 插件 我的角色层次结构和其他 s2 属性如下所示 grails plugins springsecurity userLookup userDomainClassNam
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
  • Grails:防止具有多种关系的两个域类之间的级联关联

    考虑两个域类 工作和报价 一份工作有很多报价 但一份工作也有一个已接受的报价 接受的报价可以为空 并且只有在用户接受特定报价后才应设置 我将关系映射如下 为了说明目的进行了简化 class Job String title Quote ac
  • 在 GORM 中重命名复合外键

    我有以下课程 class Catalog static mapping id composite name manufacturer columns name column cat name manufacturer column manu
  • 如何将 TIFF ImageReader 添加到 Grails 中注册的图像读取器中

    我正在尝试创建一个 Grails 应用程序 它可以显示 TIFF 文件和其他图像的预览 背景 这些图像是由 SOAP 服务构建的 该服务为我提供图像的字节 在服务方法中 我获取 byte 从中构造一个 ByteArrayInputStrea
  • OS X - 输入“grails”命令后终端重置

    在我的 bash profile 中 我有以下几行 export GRAILS HOME usr share java grails export PATH PATH GRAILS HOME bin GRAILS HOME 是同一目录中 g
  • 在 Grails 控制台中导入服务?

    如何获取 grails 控制台中的服务 我的业务规则是在服务中实现的 但我无法在 grails 控制台中访问它们 有谁知道如何帮助我 春天ApplicationContext可用为ctx控制台中的变量 您可以使用它来访问 Spring be
  • 如何从 Grails 中的 UrlMapping 中排除特定关键字?

    我在 Grails 中使用以下 url 映射 id controller user action show 映射网址 例如mydomain com someusername 如何将约束附加到 url 映射以排除 登录 注销 等关键字 IE
  • Grails 域 obj 操作参数和关联数据绑定

    我知道 Grails v2 3引入了一些变化 https github com grails grails core wiki Data Binding数据绑定的工作方式 但是当我有一个域 obj 作为操作参数时 我正在努力弄清楚如何让自动
  • Firefox 扩展的初始框架? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Grails 中应用 Groovy 扩展会产生 String#toBoolean() 的 MissingMethodException

    背景 Groovy 有以下特点向现有类添加方法 http docs codehaus org display GROOVY Creating an extension module 我发现some https github com timy
  • Grails Spock 单元测试需要模拟事务管理器

    在 Grails 3 1 12 中 我想对服务进行单元测试 Transactional class PlanService List
  • Grails 在 gsp 中迭代与访问 Map 元素

    完整上下文 我正在尝试使用 grails 应用程序处理多个文件 我将显示的代码来自后处理页面 其中提供了有关已处理文件的信息 我最初的感觉是使用这样的代码 table tr th Parsed from Excel th th Upload
  • 升级 Grails 应用程序时compileAssets 失败

    我有一个运行版本 3 3 的 Grails 应用程序 我最近升级到版本4 0 3 我通常升级的方式 据我所知可能不是最好的方式 是将我的环境升级到新的 Grails 版本 然后创建一个全新的 Grails 项目 我正在使用 IntelliJ
  • 具有自定义权限的 Grails ACL

    Grails 的 Spring Security ACL 插件默认使用具有 4 个基本权限的 BasePermission 类 并使用DefaultFactory来分配此权限 以及分配此 DefaultFactory 的 AclPermis
  • 在rails生成脚手架中跳过JSON格式

    当您使用类似命令生成 Rails 脚手架时rails g scaffold Thing有什么办法可以避免变得烦人吗 respond to do format format html index html erb format json re

随机推荐

  • 在 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