Внутренние элементы Grails: автоматическое сопоставление и создание объекта Domain - PullRequest
1 голос
/ 30 апреля 2010

Я пытаюсь создать taglib для представления объекта (для чтения и отображения в пользовательском интерфейсе). При создании объекта (метод сохранения в контроллере) я вижу, что класс домена и ассоциация создаются автоматическим назначением параметра

def Book = new Book(params) 

Он также отображает сложные типы (например, время joda). Мне интересно соглашение об именах, необходимое для облегчения этого отображения. Из любопытства может кто-то также указать, где в исходном коде grails я мог видеть, как grails справляется с этим отображением. Я все еще изучаю Spring, и, вероятно, это было бы хорошим упражнением. Спасибо, Баба.

1 Ответ

2 голосов
/ 30 апреля 2010

AFAIK соглашения об именах довольно просты. Если есть поле params.foo и объект, к которому вы привязываете, имеет поле foo, оно будет привязывать значение, если преобразование типов работает правильно. Если есть набор params.bar.id со значением Long, и у вашего объекта есть комплексное свойство типа Bar, он будет искать этот экземпляр и вставлять его.

Если вам нужен больший контроль над процессом связывания, вы можете использовать bindData .

Если вас интересуют подробности процесса привязки, взгляните на PropertyEditor в Java, поскольку это то, что используется в фоновом режиме. Я написал сообщение в блоге о том, как создавать и регистрировать PropertyEditors некоторое время назад, возможно, это поможет вам начать работу с этим материалом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...