On the Groovy 示例页面 https://web.archive.org/web/20100712132418/http://groovy.codehaus.org/Builders有一个示例说明如何使用具有混合内容的 Groovy HTML 构建器:
p [
"This is some",
b"mixed",
"text. For more see the",
ahref:'http://groovy.codehaus.org' ["Groovy"],
"project"
]
但这对我不起作用,我收到如下错误消息:
expecting ']', found 'mixed' @ line 33, column 23. b"mixed", ^ 1 error
Groovy 示例页面指出:
[注意:其中一些语法
示例稍微过时了。看
同时GINA的第8章
直到更新这些示例。]
因此,我怀疑 HTML 构建器的语法已经改变,但是我没有这本书,所以我无法检查,而且我似乎无法在网上找到任何相关的示例。有谁知道 Groovy 1.7 中的语法应该如何并且可以正常工作吗?
我发现该示例中的很多内容都已经过时了。混合 href 的语法和段落周围的 [] 对我不起作用。
对于混合内容,您需要使用特殊关键字“mkp.yield”。如果您不想转义,还有一个“mkp.yieldUnescaped”。您还可以使用 mkp 执行一些其他功能。
此示例确实有效并使用混合内容进行显示:
def builder = new groovy.xml.MarkupBuilder()
builder.html {
head {
title"XML encoding with Groovy"
}
body {
h1"XML encoding with Groovy"
p"this format can be used as an alternative markup to XML"
a(href:'http://groovy.codehaus.org', "Groovy")
p {
mkp.yield "This is some"
b"mixed"
mkp.yield " text. For more see the"
a(href:'http://groovy.codehaus.org', "Groovy")
mkp.yield "project"
}
p "some text"
}
}
Output:
<html>
<head>
<title>XML encoding with Groovy</title>
</head>
<body>
<h1>XML encoding with Groovy</h1>
<p>this format can be used as an alternative markup to XML</p>
<a href='http://groovy.codehaus.org'>Groovy</a>
<p>This is some
<b>mixed</b> text. For more see the
<a href='http://groovy.codehaus.org'>Groovy</a>project
</p>
<p>some text</p>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)