Загрузите jar-файлы Castor Core и Castor XML из здесь и поместите их в каталог lib
(возможно, есть лучший способ управления этой зависимостью с помощью управления зависимостями Grails , но этот быстрый и грязный).
С режимом самоанализа Castor вам не нужно беспокоиться о создании файлов сопоставления, если ваш XML хорошо согласуется с вашими доменами. Вот пример:
Grails-приложение / домен / MyDomain.groovy
class MyDomain {
String foo
String bar
}
Grails-приложение / контроллеры / MyController.groovy
import org.exolab.castor.xml.Unmarshaller
import java.io.ByteArrayInputStream
class MyController {
def myAction = {
def xml = '''
<myDomain>
<foo>My Foo String</foo>
<bar>My Bar String</bar>
</myDomain>
'''
def reader = new ByteArrayInputStream(xml.bytes).newReader()
def domain = (MyDomain)Unmarshaller.unmarshal(MyDomain.class, reader)
domain.save()
def count = MyDomain.countByFoo('My Foo String')
render "Found $count results"
}
}
Перейдите к localhost:8080/appname/my/myAction
, и он должен отобразить «Найдено N результатов», N> 0.