在我的 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 验证(因为我的文档类型是 HTML 而不是 XHTML)。
有没有办法解决这个问题?我怎样才能让 Grails 不解释
元标记?
我正在使用 grails-1.2-M4。
跟进:
我创建了 Grails 错误 GRAILS-5696对于这个问题。
最佳答案
不确定这是最漂亮的解决方案,但至少它适用于您的情况:
<%= '<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 />
有用。测试。
关于Grails 解释并关闭 HTML 元标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1899263/