在渲染中使用标记不会添加表单标记。
我尝试使用contentType“text / html”,“txt / xml”,但它不起作用。
我在控制器中有这个:
def myTest= {
render(contentType: "text/plain") {
div(id:"myDiv") {
p "somess text inside the div"
form (action:'get') {
p "inside form"
}
}
}
我得到了这个:
<div id='myDiv'><p>somess text inside the div</p><p>inside form</p></div>
我想要这个:
<div id='myDiv'><p>somess text inside the div</p><form><p>inside form</p></form></div>
有人知道为什么不添加表单以及如何添加表单?
谢谢,
费德里科
答案 0 :(得分:2)
我之前发现了这个问题,解决方法是直接使用构建器
def test = {
def sw = new StringWriter()
def b = new MarkupBuilder(sw)
b.html(contentType: "text/html") {
div(id: "myDiv") {
p "somess text inside the div"
b.form(action: 'get') {
p "inside form"
}
}
}
render sw
}
将呈现以下HTML
<html contentType='text/html'>
<div id='myDiv'>
<p>somess text inside the div</p>
<form action='get'>
<p>inside form</p>
</form>
</div>
</html>