在Grails中的taglib中计算数据库中的字符串

在Grails中的taglib中计算数据库中的字符串,grails,groovy,taglib,gstring,Grails,Groovy,Taglib,Gstring,我有一个taglib方法,我从数据库中获取一个对象,并使用字符串表达式进行计算。根据文档,应该可以这样做: out << "<div id=\"${attrs.book.id}\">" out试试这个 def output = "" def objectFromDb = fetchObjectFromDb() def output += objectFromDb.getContent() // use toString() if needed out <&l

我有一个taglib方法,我从数据库中获取一个对象,并使用字符串表达式进行计算。根据文档,应该可以这样做:

out << "<div id=\"${attrs.book.id}\">"
out试试这个

def output = ""
def objectFromDb = fetchObjectFromDb()
def output += objectFromDb.getContent()    // use toString() if needed
out << output
def output=“”
def objectFromDb=fetchObjectFromDb()
def output+=objectFromDb.getContent()//如果需要,请使用toString()

out使用此代码:
out我得到了此代码:
,因此表达式确实得到了计算。看起来问题出在dbYes中的对象中,我还写道,可能是db对象包含字符串,而该字符串随后未被计算。问题是当我将它转换为GString时,它也不会被计算。我不明白。“”-这是gstring,无论book.id是什么类型,都会对其求值。不,
输出是字符串。字符串不会对表达式求值。我很惊讶。我已经使用这段代码一百次了,没有任何问题,从数据库在TagLib和gsp中呈现内容。当我没有使用上面提到的格式时,我确实在计算表达式时遇到了问题。
def output = ""
def objectFromDb = fetchObjectFromDb()
def output += objectFromDb.getContent()    // use toString() if needed
out << output