谢谢指教。 最佳答案 不支-6ren">
gpt4 book ai didi

java - Freemarker 中的嵌套指令参数

转载 作者:行者123 更新时间:2023-11-30 04:22:10 25 4
gpt4 key购买 nike

我正在 Java 项目中使用 Freemarker。我定义了一个自定义指令,如 @mycustomdirective

此自定义指令是否支持其他指令作为参数?

即:

<@mycustomdirective parameter="<@othercustomdirective parameter2="..." />" />

谢谢指教。

最佳答案

不支持;您只能在表达式内调用 #function-s 和方法(无论是参数值还是其他内容)。

这实际上是有原因的:指令旨在输出标记,并且假定函数/方法生成纯文本(或数字、 boolean 值等)。因此,当您使用 ${exp} 插入表达式时,它会自动转义(通过 #escape ATM...所以它是“半自动”),而指令调用则不然,因此区别很重要。参数值是表达式,因此,它们意味着非标记,当然,虽然可以将非标记插入标记中(通过转义),但相反的情况基本上是不可能的。

但是如果你真的想在表达式中传递指令输出,可以使用 hack:

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

关于java - Freemarker 中的嵌套指令参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16780443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com