Grails 内部 : Auto mapping and Domain object creation

标签 grails core

我正在尝试制作一个标记库来表示一个对象(在 UI 上读取和显示)。创建对象时( Controller 中的保存方法),我看到域类和关联是通过参数的自动分配创建的

def Book = new Book(params) 

它还映射复杂类型(例如:joda time)。我想知道促进这种映射所需的命名约定。出于好奇,是否有人还可以指出在 grails 源代码中我可以看到 grails 如何处理此映射的位置。我仍在学习 Spring,这可能是一个很好的练习。
谢谢,
巴布。

最佳答案

AFAIK 命名约定相当简单。如果有字段params.foo并且您要绑定(bind)的对象有一个字段 foo,假设类型转换正常工作,它将绑定(bind)该值。如果有 params.bar.id设置为 Long 值,并且您的对象具有 Bar 类型的复杂属性,它将查找此实例并注入(inject)它。

如果您需要对绑定(bind)过程进行更多控制,您可能需要使用 bindData .

如果您对绑定(bind)过程的细节感兴趣,请查看 Java 的 PropertyEditor因为这是在后台使用的。我写了一个blog post不久前关于如何创建和注册 PropertyEditors,也许它可以帮助您开始使用这些东西。

关于Grails 内部 : Auto mapping and Domain object creation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2744801/

相关文章:

C++ 堆损坏和 valgrind

java - 使用线程锁定系统的偶数奇数

java - 在eclipse中创建java应用程序jar文件

grails - 在网址中使用内部版本号

logging - Grails:将调试日志记录发送到标准输出

grails - Grails不会节省服务

grails - Grails 3.2-如何在插件中获取java.sql.Connection

grails - 尝试获取ID类型不匹配

Java排序价格值升序和降序

Linux - 将单个进程的核心利用率提取到文件中