gpt4 book ai didi

templates - g:render标签将body()呈现为纯文本

转载 作者:行者123 更新时间:2023-12-02 15:21:43 25 4
gpt4 key购买 nike

我正在尝试在GSP页面中呈现模板

模板:

<div class="container">
${body()}
</div>

模板调用:
<g:render template="/shared/wrapperTemplate">
<g:textField name="${property}" value="${value}" id="${property}id" class="form-control"/>
</g:render>

body()已正确评估并呈现
<input type="text" name="name" value="" id="nameid" class="form-control" />

但是,当将其传递到模板时,它用引号引起来,而不是显示输入字段,而是将html输入作为字符串输出到html页面

我也尝试过写TagLib
def fieldTemplate = { attrs, body ->
out << render(template: "/shared/wrapperTemplate", model: [content: body()])
}

但是结果是一样的(当然,我必须更改标签调用)

这个想法是为Fields插件中的所有_wrapper.gsp模板重用 <div>模板的格式部分,而不是复制粘贴它。上面的情况已简化,但是我使用Twitter Bootstrap,有一堆我不想复制的行。

_fields / default / _wrapper.gsp:
<div class="form-group ${hasErrors(bean:bean,field:property,'has-error')}">
<label for="${property}id" class="col-sm-2 control-label">${label}</label>
<div class="col-sm-10">
<g:textField name="${property}" value="${value}" id="${property}id" class="form-control" />
</div>
</div>

_fields / date / _wrapper.gsp:
<div class="form-group ${hasErrors(bean:bean,field:property,'has-error')}">
<label for="${property}id" class="col-sm-2 control-label">${label}</label>
<div class="col-sm-10">
<g:datePicker name="${property}" value="${value}" precision="day" id="${property}id" class="form-control" />
</div>
</div>

最佳答案

我无法理解您帖子的以下几行

but when passing it to the template, it is surrounded by the quotes and instead of displaying input field, it prints the html input as string to the html page



在这种情况下, 是什么,请分享不起作用的确切代码。
您共享的第一个示例为您工作,在第二个示例中,您将content作为参数传递。通过参数时,您需要从以下位置更改代码
${body()} 


${raw(content)}

我仍然不确定确切的代码是什么不起作用,只是一个疯狂的猜测。

关于templates - g:render标签将body()呈现为纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34392867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com