我有一个taglib方法,我从数据库中获取一个对象,并使用字符串表达式进行评估。在文档中,应该可以这样做:
out << "<div id="${attrs.book.id}">"
但是当我尝试对从数据库中获取的对象做同样的事情时,${}之间的表达式不会得到评估。我意识到原因是因为我有一个String,所以我试图将其转换为GString,但没有任何成功。
// objectFromDb.content = "<div id="${attrs.book.id}">"
def objectFromDb = fetchObjectFromDb()
def gStringExpression = "${objectFromDb.getContent()}"
out << gStringExpression
如何在标签库内实现表达式的求值?我想有不同的变量为每个对象,所以使用TemplateEngine是不可能的,因为我不知道哪些变量将被使用。
try this
def output = ""
def objectFromDb = fetchObjectFromDb()
def output += objectFromDb.getContent() // use toString() if needed
out << output