我有以下groovy代码:
def xml = '''<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<foot>
<email>m@m.com</email>
<sig>hello world</sig>
</foot>
</note>'''
def records = new XmlSlurper().parseText(xml)
Run Code Online (Sandbox Code Playgroud)
如何获取记录以返回地图如下所示:
["to":"Tove","from":"Jani","heading":"Reminder","body":"Don't forget me this weekend!","foot":["email":"m@m.com","sig":"hello world"]]
Run Code Online (Sandbox Code Playgroud)
谢谢.
在Groovy中,有什么区别,
def a=1..5
def b= [*1..5]
def c=[1..5]
Run Code Online (Sandbox Code Playgroud)
是什么*在[*1..5]象征?
考虑一下我可以写resources.xml:
<bean id="beanOne" class="ExampleBean" depends-on="manager,accountDao"/>
Run Code Online (Sandbox Code Playgroud)
我会用Spring DSL编写它resources.groovy.怎么写depends-on指令?
我想找到具有特定值的数组的所有元素的位置.例:
def numbers = [1, 2, 3, 4, 5, 6, 5, 4, 6, 4, 9, 2];
Run Code Online (Sandbox Code Playgroud)
我想找到位置4,这里位置数是3,7,9
如何通过漂亮的groovy收集方法找到它优雅?
Grails可以创建简单的字符串/值映射属性部分"对象映射",第一段.
我想知道,有没有办法稍后使用map属性作为查询的一部分查询域类(使用Gorm动态查找器,标准或HQL)(即为键X添加条件以使值Y)?
<racebet amount="8.89" id="6852465" bettype="K" instance="1" type="csf" />
Run Code Online (Sandbox Code Playgroud)
创建包含属性作为键和相应值的地图的最佳方法是什么?
谢谢.
我需要在我的grails应用程序中使用审计跟踪我已经尝试了所有方法但是审计日志是空的有任何方法可以纠正它.我需要实际记录插入,删除和更新等操作.
以下是我所遵循的: -
package audit
class Person {
static auditable = true
String firstName
static constraints = {
firstName(nullable:true,size:0..60)
}
def onSave = {
println "new person inserted"
}
def onUpdate = {
println "person was updated"
}
def onDelete = {
println "person was deleted"
}
def onChange = { oldMap,newMap ->
println "Person was changed ..."
oldMap.each{ key, oldVal ->
if(oldVal != newMap[key]) {
println " * $key changed from $oldVal to " + newMap[key]
}
}
} …Run Code Online (Sandbox Code Playgroud) 似乎在Grails中或者更好地说Groovy,不可能将日志记录模式设置为记录行号,方法和类名.或者你可以,但你会收到Log4j类的行号和方法名称,如:
%F:%L -? SLF4JLog.java:213
Run Code Online (Sandbox Code Playgroud)
我发现了一个与Grails无关的问题:http: //jira.grails.org/browse/GRAILS-9789
那么如何在Grails中记录这些信息呢?
我有一个私有方法,使用元类在grails 1.3.7中进行了模拟,但现在我将grails版本升级到2.2.4,同样的模拟失败了.
测试方法有私有方法调用
private def MyPrivateMeth1(def arg1, def arg2) {
...
}
Run Code Online (Sandbox Code Playgroud)
模拟是这样的
MyController.metaClass.private.MyPrivateMeth1 = { a, b ->
...
}
Run Code Online (Sandbox Code Playgroud) 似乎在Grails 2.x中,如果你有一个域类关联,并且你尝试or在该关系+另一个查询上运行createCriteria ,or它将忽略另一个查询并只使用嵌套关联的结果.我意识到这可能有点令人困惑,所以这里有一个例子:
class Passenger {
Long id
Boolean isDriving
}
class Car {
Long id
Passenger passenger
Boolean isMoving
static constraints = {
passenger nullable: true
}
}
Run Code Online (Sandbox Code Playgroud)
和测试:
class CarIntegrationTests {
@Test
void testCar() {
Passenger passenger1 = new Passenger(isDriving: true)
passenger1.save()
Car car1 = new Car(passenger: passenger1, isMoving: false)
Car car2 = new Car(isMoving: true)
car1.save()
car2.save()
def queryResults = Car.createCriteria().list() {
or {
eq('isMoving', true)// This by itself works
passenger {// And …Run Code Online (Sandbox Code Playgroud) grails ×6
groovy ×6
audit ×1
collections ×1
grails-2.0 ×1
grails-orm ×1
log4j ×1
mocking ×1
range ×1
unit-testing ×1
xml ×1
xmlslurper ×1