我正在尝试将mime-mapping元素添加到web.xml。
我目前最好的准备是:
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
答案 0 :(得分:2)
我相信您现在可以通过将mime-mapping
元素直接添加到src/templates/war/web.xml
中的web.xml模板来完成同样的事情:
<mime-mapping>
<extension>htc</extension>
<mime-type>text/x-component</mime-type>
</mime-mapping>
答案 1 :(得分:1)
尝试
def doWithWebDescriptor = { xml ->
xml << {
'mime-mapping' {
'extension'("htc")
'mime-type'("text/x-component")
}
}
}
(请注意leftShift
而不是plus
)。
或者,如果要确保将新元素插入XML中的特定位置,则可以获取子元素,之后您希望插入元素,并使用{{1}添加元素。运算符。例如,我使用以下代码添加新的servlet-mapping:
plus
如果您想进一步深入研究,请查看def servletMappings = xml.'servlet-mapping'
servletMappings[servletMappings.size() - 1] + {
'servlet-mapping' {
'servlet-name'("myServlet")
'url-pattern'("/myURL")
}
}
(groovy.util.slurpersupport.NodeChild
参数属于该类型)及其超类xml
。
答案 2 :(得分:0)
嗯,我唯一能找到的东西是为了正确访问请求中的mime类型而必须设置的配置属性:
grails.mime.file.extensions = true
尝试确保将其设置为true,然后使用有效的代码再次尝试?