从字符串渲染 MarkupBuilder
我正在使用 MarkupBuilder 从 taglib 中呈现一些 HTML,如下所示(为了清楚起见,进行了精简):
def formContainer = new MarkupBuilder(out)
formConainer.form() {
input() { }
input() { }
}
现在假设在 form() 内部的某个位置我想提取用户指定的一些元素,因此在文件系统上的文件中我有这样的东西(再次简化)...
select() {
option()
option()
}
我的问题是,如果我将 select 作为字符串读取,是否有一种方法可以让 taglib 将其解析为 groovy 并使其成为 MarkupBuilder 实例的一部分?
def formContainer = new MarkupBuilder(out)
formConainer.form() {
input() { }
input() { }
// I want the select to render here
}
I'm using MarkupBuilder to render some HTML from a taglib like so (stripped down for clarity):
def formContainer = new MarkupBuilder(out)
formConainer.form() {
input() { }
input() { }
}
Now assume that somewhere inside the form() I want to pull in some elements specified by a user so in a file on the file system I have something like this (again, simplified)...
select() {
option()
option()
}
My question is, if I read that select in as a String, is there a way for the taglib to parse it as groovy and make it part of the MarkupBuilder instance?
def formContainer = new MarkupBuilder(out)
formConainer.form() {
input() { }
input() { }
// I want the select to render here
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
执行此操作的一种方法是:
但是,这对我来说很脆弱...
更好的方法可能是使用 GroovyTemplateEngine 将您的值注入到格式化的完整标记中
One method for doing this would be:
However, this feels brittle to me...
A better method might be to use the GroovyTemplateEngine to inject your values into a formatted complete bit of markup