是否有任何有关如何创建自定义grails标记的文档,该标记生成类似于“
使用普通的grails taglib,我能够生成html或原始输出,但是我希望输出的代码可以被解释,类似于if和else标签的工作方式。
以下是“if”标签的Grails源代码示例:@Override
protected void outputStartTag(String envExpression, String testExpression) {
out.print("if(");
out.print(envExpression);
out.print(" && ");
out.print(testExpression);
out.println(") {");
}
我该如何在自己的taglib前缀中做类似的事情。
例:<mine:doSomethingCool key="foo">This text is conditionally shown</mine:doSomethingCool>
除了隐藏复杂的逻辑之外,我还希望具有此功能,因此可以在自定义标签之后使用
通常,除了当前的taglib格式外,我还希望在工具箱中使用其他工具。
最佳答案
例如,如果您只想在key == 'foo'
时呈现条件文本,则可以这样做:
class SomethingTagLib {
static namespace = "ns"
def doSomethingCool = { attrs, body ->
if (attrs.key == 'foo') {
out << body()
}
}
}
然后,您可以像下面这样使用此标记:
<ns:doSomethingCool key="foo">This text is conditionally shown<ns:doSomethingCool>
关于grails - 创建自定义Grails Tag Lib生成代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38757247/