Grails groovy代码里面的值

rec*_*lax 0 grails groovy taglib gsp

我正在显示工具提示,向我显示有关某些内容的更多信息.我正在使用这种方法:

<tooltip:tip value="${it.something}>
Run Code Online (Sandbox Code Playgroud)

事实证明,'it.something'并不适用,我还需要显示'it.something2'和'it.something3'.我做了以下,但它不起作用:

<tooltip:tip value="<%  out << '<b> Title: <b> ${it3.prog_title} <br> <b> Start at: <b> ${it3.prog_start} <br><b> End at: <b> ${it3.prog_end} <br><b> Description: <b> ${it3.prog_description} <br>' %>" stylesheet="myTooltipStyles">
Run Code Online (Sandbox Code Playgroud)

错误: Exception Message: Tag [tooltip:tip] is missing required attribute [code] or [value]

我也想知道,我如何为我的工具提示制作样式表,如何在css中访问?

Rob*_*ska 5

你在这里所做的就是用各种方式来对抗用什么TagLib来帮助你完成任务.您TooltipTagLib应该负责所有标记责任,并且只应接受插入标记所需的属性,而不是另一个充满标记的字符串.

如果您重新设计标记库,则可以避免出现奇怪的错误.您的tip标签关闭应该看起来像这样(粗略)示例:

def tip = { attrs ->
    out << "<b>Title:</b> ${attrs.title}<br/>"
    out << "<b>Start at:</b> ${attrs.start}<br/>"
    out << "<b>End at:</b> ${attrs.end}<br/>"
    out << "<b>Description:</b> ${attrs.description}<br/>"
}
Run Code Online (Sandbox Code Playgroud)

你会称之为:

<tooltip:tip title="${it3.prog_title}"
             start="${it3.prog_start}"
             end="${it3.prog_end}"
             description="${it3.description}"/>
Run Code Online (Sandbox Code Playgroud)

尝试重新思考如何使用标记库,你会发现你不会遇到像这样的奇怪错误.