2

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")
        }
}

編集:私はgrails1.0.3を使用しています

4

3 に答える 3

2

mime-mapping次のように、web.xmlテンプレートに要素を直接追加することで、同じことを実行できると思いますsrc/templates/war/web.xml

<mime-mapping> 
    <extension>htc</extension>
    <mime-type>text/x-component</mime-type> 
</mime-mapping>
于 2011-05-01T00:02:52.077 に答える
1

試す

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

leftShift(の代わりに注意してくださいplus)。

または、新しい要素がXML内の特定の位置に挿入されていることを確認する場合は、子要素を取得してから、要素を挿入し、plus演算子を使用して要素を追加できます。たとえば、次のコードを使用して、新しいサーブレットマッピングを追加します。

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

幸運を!

于 2009-04-21T14:23:51.507 に答える
0

うーん、私が見つけた唯一のものは、リクエストのmime-typesに適切にアクセスするために設定する必要があるconfigプロパティを参照していました:

grails.mime.file.extensions = true

これがtrueに設定されていることを確認してから、機能するコードで再試行しますか?

于 2009-04-15T17:58:39.390 に答える