我编写了一个 taglib,它执行一些逻辑并将一些数据呈现到 HTML 中。当我在视图中使用 taglib 时,taglib 希望在视图的相对子文件夹中找到模板。有没有一种方法可以让 taglib 从一个常见的文件夹中提取模板,比如视图中的 layouts/ 文件夹。这是 taglib 代码的外观:
class IconifiedTextTagLib {
def renderIconText = { attrs, body ->
//some processing logic to generate the modelMap
out << render(template:"taglibTemplates/iconText", model:modelMap)
}
}
当我<g:renderIconText />
在一个名为 A 的控制器中使用标签时,它希望taglibTemplates/iconText出现在views/A/文件夹中。这是一个问题,因为我需要能够从多个控制器中使用它。我需要一种将模板放在 layouts/ 之类的文件夹中的方法,以便可以在所有视图中使用它。关于我如何做到这一点的任何想法?