4

Grails GSPファイルでは、HTMLメタタグを使用しています。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

問題は、Grailsがこのタグを閉じて、次のようにレンダリングすることです。

<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>

これはW3CのHTML検証に失敗します(私のDoctypeはHTMLであり、XHTMLではないため)。これに対する修正はありますか?Grailsにメタタグを解釈させないようにするにはどうすればよいですか?

私はgrails-1.2-M4を使用しています。

フォローアップ:この問題 のGrailsバグGRAILS-5696を作成します。

4

2 に答える 2

3

これが最も美しい解決策であるかどうかはわかりませんが、少なくともあなたのケースではうまくいくでしょう:

<%= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' %>

ええと...そのまま表示される前にGrailsによって前処理されているため、これは機能しません。

したがって、私が見る唯一の解決策は、TagLibを作成し、次のようなコンテンツを出力することです。

class MetaTagLib {

    static namespace = 'my'

    def meta = {
        out << "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>"
    }
}

次のように使用します。

<my:meta />

できます。テスト済み。

于 2009-12-14T11:53:12.917 に答える
0

<!DOCTYPE html>これで本当に!)を使用して、HTML4.01ではなくHTML5として検証できます。HTML5では、疑似XHTMLを生成するこのようなシステムを可能にするために、HTML構文でも末尾のスラッシュを使用できます。

もちろん、HTML5はまだ完成した標準ではありません。変更される場合があります。この側面が変更される可能性は低いと思いますが、HTML5の新機能の多くについてはまだかなり論争の的となっているため、まだ完成していないことに注意してください。

于 2010-01-11T02:24:20.420 に答える