Kra*_*ken 35 java null freemarker
说我的java代码有List<String> listS =null,我把它传递给我的模板文件.
现在我想确保这一点if list has some data then only do something.
我试过了
<#if listS = null>
AND
<#if !listS>
AND
<#if listS?size=0>
Run Code Online (Sandbox Code Playgroud)
但这些似乎都没有奏效.我的java代码有一些逻辑; 通过它,如果某些条件为真,那么我new这就listS填充它.
因此,我需要知道是否listS已填充或仅在我的模板文件中为空.
我该怎么做呢?谢谢.
编辑:此外,我有一个结构列表,每个包含这个列表,(填充或不是一个不同的问题),我传递整个结构列表,因此传递一个布尔值与模板文件以及我的列表结构是不可能的,因为我将不得不在每个列表中遍历,并且我想在模板文件本身中进行遍历.
编辑2:对于那些知道什么是Java null的人,FreeMarker 2.3.x将它们视为缺失值.简单地说,模板语言不知道null的概念.例如,如果你有一个具有maidenName属性的bean,并且该属性的值为null,那么就模板而言,就像没有这样的属性一样(假设你没有)配置FreeMarker使用一些极端的对象包装器,即).返回null的方法调用的结果也被视为缺失变量(同样,假设您使用了一些常用的对象包装器).请参阅常见问题解答.
但是我仍然没有得到如何让它工作的答案,如果可以的话.
Boh*_*ian 59
使用has_content内置:
<#if list5?has_content>
Run Code Online (Sandbox Code Playgroud)
小智 9
<#list myList![] as element>
<#-- do something per element -->
</#list>
Run Code Online (Sandbox Code Playgroud)
如果列表为 null 或为空,则结果将为空。
您还可以使用缺失值测试运算符,如下所示:
<#if listS??>
<#list listS.stuff as stuff>
${stuff.value}
</#list>
</#if>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41476 次 |
| 最近记录: |