在任何问题上我找不到与此相关的任何内容,这是非常基本的,但我无法弄清楚.
所以我的问题是我不知道如何将null设置为freemarker中的变量.例:
${hi!"bye"} <#-- Prints "bye" because hi is undefined -->
<#assign hi="hi"> <#-- Sets a value to the var hi -->
${hi!"bye"} <#-- Prints "hi" because hi has a value -->
<#assign hi=null> <#-- This does not work but is what I am looking for -->
${hi!"bye"} <#-- I want it to print "bye" because hi should be undefined -->
Run Code Online (Sandbox Code Playgroud)
我有这个问题,因为我迭代一个列表并设置一个var,如果特定项的某些逻辑验证,然后检查var是否存在,但如果第一个项创建var,那么我将为其余的设置var列表中的项目.
dde*_*any 10
不,没有"取消分配",也没有nullFreeMarker存在的概念(至少到2.4.0,但无论如何都是遥远的).它只有缺失的变量(可能在技术上是a null,可能根本不存在)和那些存在的变量.我真的不明白为什么在你的情况下需要它.你能举例说明一下情况吗?
您可以为变量分配一个空字符串,并检查内置?has_content是否已设置:
${hi?has_content?then(hi, "bye")}
<#assign hi="hi">
${hi?has_content?then(hi, "bye")}
<#assign hi="">
${hi?has_content?then(hi, "bye")}
Run Code Online (Sandbox Code Playgroud)
这将呈现:
bye
hi
bye
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6075 次 |
| 最近记录: |