小编dma*_*tro的帖子

XmlSlurper将所有xml元素返回到地图中

我有以下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

8
推荐指数
1
解决办法
4096
查看次数

Groovy中1..5,[*1..5]和[1..5]之间有什么区别?

在Groovy中,有什么区别,

def a=1..5
def b= [*1..5]
def c=[1..5]
Run Code Online (Sandbox Code Playgroud)

是什么*[*1..5]象征?

groovy range

7
推荐指数
2
解决办法
428
查看次数

What is Spring DSL equivalent for Spring XML "depends-on" attribute in Grails

考虑一下我可以写resources.xml:

<bean id="beanOne" class="ExampleBean" depends-on="manager,accountDao"/>
Run Code Online (Sandbox Code Playgroud)

我会用Spring DSL编写它resources.groovy.怎么写depends-on指令?

grails

7
推荐指数
1
解决办法
1112
查看次数

在Groovy列表中查找元素的所有索引

我想找到具有特定值的数组的所有元素的位置.例:

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收集方法找到它优雅?

collections groovy

7
推荐指数
1
解决办法
4478
查看次数

Grails:针对字符串/值对映射属性的查询或条件

Grails可以创建简单的字符串/值映射属性部分"对象映射",第一段.

我想知道,有没有办法稍后使用map属性作为查询的一部分查询域类(使用Gorm动态查找器,标准或HQL)(即为键X添加条件以使值Y)?

grails

6
推荐指数
1
解决办法
410
查看次数

Groovy - XmlSlurper - 将属性读入Map

<racebet amount="8.89" id="6852465" bettype="K" instance="1" type="csf" />
Run Code Online (Sandbox Code Playgroud)

创建包含属性作为键和相应值的地图的最佳方法是什么?

谢谢.

xml groovy xmlslurper

6
推荐指数
1
解决办法
3361
查看次数

如何使我的审计跟踪插件工作

我需要在我的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)

audit grails

5
推荐指数
1
解决办法
620
查看次数

Grails/Groovy log4j - 记录行号,方法名和类名

似乎在Grails中或者更好地说Groovy,不可能将日志记录模式设置为记录行号,方法和类名.或者你可以,但你会收到Log4j类的行号和方法名称,如:

%F:%L -? SLF4JLog.java:213
Run Code Online (Sandbox Code Playgroud)

我发现了一个与Grails无关的问题:http: //jira.grails.org/browse/GRAILS-9789

那么如何在Grails中记录这些信息呢?

grails groovy log4j

5
推荐指数
1
解决办法
1119
查看次数

如何在grails 2.2.4中模拟控制器中的私有方法

我有一个私有方法,使用元类在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 groovy unit-testing mocking

5
推荐指数
2
解决办法
5408
查看次数

Grails 2.x createCriteria'或'不适用于嵌套关联

似乎在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 grails-orm createcriteria grails-2.0

5
推荐指数
1
解决办法
4596
查看次数