![](/img/trans.png)
[英]HTML using Groovy MarkupBuilder, how do I elegantly mix tags and text?
[英]How to use Groovy XML MarkupBuilder to create valid HTML script tags?
我使用Groovy 1.8 XML MarkupBuilder构建一个包含<script>
标记的HTML页面。
当我在Firefox 18中加载页面时,我看到一个空白页而不是预期的结果。
这似乎是由于生成的<script>
标记没有补充</script>
标记,即使没有内容可以保证</script>
标记。 (参见: https : //stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work )
样本Groovy代码:
def builder = new groovy.xml.MarkupBuilder( out )
builder.html {
head {
script( type:'text/javascript', src:'//example.com/example.js' )
}
body {
p("Hello...Newman.")
}
}
如果我使用Firefox的“查看页面源”(Ctrl-U)检查(空白)呈现页面的HTML,我看到:
<html>
<head>
<script type='text/javascript' src='//example.com/example.js />
</head>
<body>
<p>Hello...Newman.</p>
</body>
</html>
仔细观察,我看到<script ... />
标签上的'/'呈现为红色,'/'上的悬停文本显示为“自闭语法(”/>“)非void HTML元素。忽略斜杠并将其视为开始标记。“
那么,如何使用Groovy XML MarkupBuilder生成有效的HTML <script>
标签?
如果您定义了一些空内容,那么脚本标记将具有单独的结束标记:
script( '', type:'text/javascript', src:'//example.com/example.js' )
或者你可以使用
script(type:'text/javascript', src:'//example.com/example.js){mkp.yield("")}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.