在grails插件中将mime映射添加到web.xml的正确语法

在grails插件中将mime映射添加到web.xml的正确语法,grails,groovy,grails-plugin,Grails,Groovy,Grails Plugin,我正在尝试向web.xml添加一个mime映射元素 我目前最好的建议是: def doWithWebDescriptor = { xml -> xml + { 'mime-mapping' { 'extension'("htc") 'mime-type'("text/x-component") } } } 我知道代码正在运行,因为上面的代码实际上输出了一个无效的web.xml。以下内容似乎更符

我正在尝试向web.xml添加一个mime映射元素

我目前最好的建议是:

def doWithWebDescriptor = { xml ->
    xml + {
        'mime-mapping' {
            'extension'("htc")
            'mime-type'("text/x-component")
        }
    }
}
我知道代码正在运行,因为上面的代码实际上输出了一个无效的web.xml。以下内容似乎更符合逻辑,但实际上没有任何效果:

def doWithWebDescriptor = { xml ->
    xml.'mime-mapping' + {
            'extension'("htc")
            'mime-type'("text/x-component")
        }
}

编辑:我使用的是grails 1.0.3,我能找到的唯一一件事是引用一个必须设置的配置属性,以便正确访问请求中的mime类型:

grails.mime.file.extensions = true
请尝试确保将其设置为true,然后使用有效的代码重试?

重试

def doWithWebDescriptor = { xml ->
    xml << {
        'mime-mapping' {
            'extension'("htc")
            'mime-type'("text/x-component")
        }
    }
}
如果您想深入了解这一点,请查看
groovy.util.slurpersupport.NodeChild
xml
参数就是这种类型)及其超类
groovy.util.slurpersupport.GPathResult


祝你好运

我相信您现在可以通过将
mime映射
元素直接添加到
src/templates/war/web.xml
中的web.xml模板来完成同样的事情,如下所示:

<mime-mapping> 
    <extension>htc</extension>
    <mime-type>text/x-component</mime-type> 
</mime-mapping>

宏达电
文本/x组件

恐怕不是我想要的,我先试过了,它似乎对web appYup下的静态文件不起作用,抱歉,但这是我能找到的唯一有点相关的文档。祝你好运,很好的回答…非常感谢
<mime-mapping> 
    <extension>htc</extension>
    <mime-type>text/x-component</mime-type> 
</mime-mapping>