Grails 解释并关闭 HTML 元标记

标签 grails gsp

在我的 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/

相关文章:

database - 这些自动生成的 Db 文件是什么?

grails - 从标记grails渲染taglib

grails - 更改Grails插件的默认位置

Grails 3 : Integration tests run at a development environment, 不在测试环境中

grails - Grails在taglib和javascript之间传递参数

html - 如何在grails中将g:textArea的内容设置为HTML(格式化文本,而非代码)

grails - 不同时间格式的Grails字段模式

Grails 插件编码 : backwards compatibility

grails - 插件可将报告直接打印到打印机

javascript - 在 grails 中循环数组列表的最佳方法