在Freemarker的嵌套指令参数

我在一个Java项目与Freemarker的工作。 我已经定义了一个自定义的指令,如@mycustomdirective

这是否定制指令的支持等指令,因为参数?

即:

<@mycustomdirective参数=“<@ othercustomdirective参数2 =”...“/>”/>

谢谢指教。

--------------解决方案-------------

它不支持; 你只能叫#function -s和方法的表达式中(无论是参数值或别的东西)。

这实际上有一个原因:指令意味着输出标记,并且假定函数/方法来生成纯文本(或数字,布尔值等)。 因此,当你插入一个表达式${exp} ,它是受到自动转义(通过#escape ATM ...所以它是“半自动化”),而指令呼叫不是的,所以区分是很重要的。 参数值表达式,因此,他们的意思是无标记,当然,虽然它可以插入非标记成标记(通过转义),对面是根本不可能的。

但是,如果你真的想绕过表达式中的指令输出,有黑客:

<#assign captured><@myotherdirective /></#assign>
<@mydirective parameter=captured />

分类:java的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.319 (s). 10 q(s)