【问题标题】:Correct syntax to add a mime-mapping to web.xml in a grails plugin在 grails 插件中将 mime 映射添加到 web.xml 的正确语法
【发布时间】:2009-04-15 15:29:06
【问题描述】:

我正在尝试向 web.xml 添加一个 mime-mapping 元素。

我目前最好的刺是:

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

【问题讨论】:

    标签: grails groovy grails-plugin


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      试试

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

      (注意leftShift 而不是plus)。

      或者,如果你想确保你的新元素被插入到 XML 中的特定位置,你可以获取子元素,然后你希望你的元素被插入,并使用 plus 运算符添加你的元素.例如,我使用以下代码添加一个新的 servlet-mapping:

      def servletMappings = xml.'servlet-mapping'
      servletMappings[servletMappings.size() - 1] + {
          'servlet-mapping' {
              'servlet-name'("myServlet")
              'url-pattern'("/myURL")
          }
      }
      

      如果您想进一步深入研究,请查看groovy.util.slurpersupport.NodeChildxml 参数属于该类型)及其超类groovy.util.slurpersupport.GPathResult

      祝你好运!

      【讨论】:

      • 很好的答案...非常感谢
      【解决方案3】:

      嗯,我能找到的唯一内容是必须设置的配置属性才能正确访问请求中的 mime 类型:

      grails.mime.file.extensions = true
      

      尝试确保将其设置为 true,然后使用有效的代码再次尝试?

      【讨论】:

      • 恐怕不是我想的那样,我先尝试了这个,它似乎不适用于web-app下的静态文件
      • 是的,抱歉,但这是我能找到的唯一似乎有点相关的文档。祝你好运。
      猜你喜欢
      • 2012-12-12
      • 1970-01-01
      • 2017-02-05
      • 1970-01-01
      • 2021-08-23
      • 2013-08-15
      • 1970-01-01
      • 2012-02-19
      • 1970-01-01
      相关资源
      最近更新 更多