我知道在Groovy中,您可以使用字符串在类/对象上调用方法.例如:
Foo."get"(1)
/* or */
String meth = "get"
Foo."$meth"(1)
Run Code Online (Sandbox Code Playgroud)
有没有办法在课堂上这样做?我将类的名称作为字符串,并希望能够动态调用该类.例如,希望做类似的事情:
String clazz = "Foo"
"$clazz".get(1)
Run Code Online (Sandbox Code Playgroud)
我想我错过了一些非常明显的东西,但我无法弄明白.
我有一个将pdf报告保存到Oracle DB中.报告的dataType是byteArray.
域定义如下:
static constraints = {
report(nullable:false)
company(nullable:false)
month(nullable:false)
}
byte[] report
Company company
Date month
Run Code Online (Sandbox Code Playgroud)
}
不幸的是,这在Oracle DB中定义了一个具有RAW data_type和255的长度的字段.
我该如何将这个字段定义到域类中?应该定义为BLOB?
如果是的话,怎么做?
提前致谢.
问题是,当它从多个地方获取内容信息时,它会做什么,特别是当它们彼此不一致时?
例如,如果Grails收到如下请求,会发生什么:
URL: http://example.com/book/list.html?format=json
Accept: application/xml
Run Code Online (Sandbox Code Playgroud)
Accept标头将解析为xml,URI扩展将解析为html,参数将解析为json.
这会做什么:
import grails.converters.*
class BookController {
def list() {
def books = Book.list()
withFormat {
html bookList: books
xml { render books as XML }
json { render books as JSON }
}
}
}
Run Code Online (Sandbox Code Playgroud)