4

使用 GroovyMarkupBuilder时,我有一些地方需要将文本输出到文档中,或者调用将文本输出到文档中的函数。目前,我正在使用未定义的标签“文本”来进行输出。有没有更好的方法来编写这段代码?

li {
  text("${type.getAlias()} blah blah ")
  function1(type.getXYZ())
  if (type instanceof Class1) {
    text(" implements ")
    ft.getList().each { 
      if (it == '') return
      text(it) 
      if (!function2(type, it)) text(", ")
    }
  }
}
4

2 回答 2

8

实际上,现在推荐的方法是使用mkp.yield,例如,

src.p {
    mkp.yield 'Some element that has a '
    strong 'child element'
    mkp.yield ' which seems pretty basic.'
}

生产

<p>Some element that has a <strong>child element</strong> which seems pretty basic.</p>
于 2008-09-17T10:27:31.470 回答
2

包括一个方法:

void text(n){
    builder.yield n
}

很可能您(我)从具有 text 方法的某个地方复制了此代码,但您没有同时复制 text 方法。由于 MarkupBuilder 接受标签名称的任何名称,并且浏览器忽略未知标记,因此它恰好可以工作。

于 2008-08-22T23:25:38.743 回答