Java Freemarker中的嵌套指令参数
我在一个Java项目中使用Freemarker。 我已经定义了一个自定义指令,如@mycustomdirective 此自定义指令是否支持其他指令作为参数 i、 e:Java Freemarker中的嵌套指令参数,java,freemarker,directive,Java,Freemarker,Directive,我在一个Java项目中使用Freemarker。 我已经定义了一个自定义指令,如@mycustomdirective 此自定义指令是否支持其他指令作为参数 i、 e: 感谢您的建议。它不受支持;只能在表达式中调用函数和方法(无论是参数值还是其他) 这实际上有一个原因:指令用于输出标记,函数/方法用于生成纯文本(或数字、布尔值等)。因此,当您插入带有${exp}的表达式时,它会自动转义(通过#escapeATM…因此它是“半自动的”),而指令调用则不是,因此区别很重要。参数值是表达式,因此它们是
感谢您的建议。它不受支持;只能在表达式中调用函数和方法(无论是参数值还是其他) 这实际上有一个原因:指令用于输出标记,函数/方法用于生成纯文本(或数字、布尔值等)。因此,当您插入带有
${exp}
的表达式时,它会自动转义(通过#escape
ATM…因此它是“半自动的”),而指令调用则不是,因此区别很重要。参数值是表达式,因此它们是非标记的,当然,虽然可以将非标记插入到标记中(通过转义),但从根本上说,不可能将非标记插入到标记中
但如果您真的想在表达式中传递指令输出,有一个hack:
<#assign captured><@myotherdirective /></#assign>
<@mydirective parameter=captured />