gpt4 book ai didi

xml - 从Grails插件中的doWithWebDescriptor闭包更改web.xml值

转载 作者:行者123 更新时间:2023-12-02 14:51:03 25 4
gpt4 key购买 nike

我们正在编写Grails插件,需要让该插件修改web.xml文件。我们正在添加条目(该部分已经完成),并且还需要修改web.xml中的现有条目。那就是我们遇到的问题。

根据文档,传递给doWithWebDescriptor闭包的参数应该是GPathResult对象。因此,我们假设可以执行以下操作(以 session 超时为例):

def doWithWebDescriptor = { xml ->
xml.'session-config'.'session-timeout'.replaceBody(60)
}

但这引发以下异常:
groovy.lang.MissingMethodException: No signature of method: groovy.xml.dom.DOMCategory$NodeListsHolder.replaceBody() is applicable for argument types ...

此异常使传递给此闭包的参数看起来实际上不是GPathResult对象,而是DOMCategory $ NodeListsHolder对象,几乎没有任何文档。

我们还尝试了其他方法,例如使用replaceNode等。似乎没有任何效果。

最佳答案

试试这个吧。

def doWithWebDescriptor = { xml ->
xml.'session-config'.'session-timeout'[0].replaceNode {
'session-timeout' 60
}
}

关于xml - 从Grails插件中的doWithWebDescriptor闭包更改web.xml值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29307416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com