【发布时间】:2016-12-09 23:32:48
【问题描述】:
是否有关于如何创建自定义 grails 标记的文档,该标记生成类似于“
使用普通的 grails 标签库,我能够生成 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 格式之外,我还想在我的工具箱中添加另一个工具。
【问题讨论】:
-
您能否提供更多关于您想要实现的目标的详细信息?
-
是的,我已将问题更新为更具体一点。
-
如果你想要
g:if标签在类固醇上,扩展原来的if标签 -
@injecteer 我可以创建自己的类并从 GroovyIfTag 扩展,但 grails 如何识别我的更改?如何命名我的标签?如何指定我的命名空间?
-
@injecteer 我刚刚找到了 GrailsTagRegistry,但我认为这让我进入了“g:”命名空间。这样就足够了,但我更喜欢我自己的。