Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在FreeMarker中为表列使用多个序列的最佳方法_Java_Html_Layout_Freemarker - Fatal编程技术网

Java 在FreeMarker中为表列使用多个序列的最佳方法

Java 在FreeMarker中为表列使用多个序列的最佳方法,java,html,layout,freemarker,Java,Html,Layout,Freemarker,我有两个单独的数据列表(集合),我想用它们创建一个表 ColumnA ColumnB Value1 Value1 Value2 Value2 Value3 Value3 Value4 Value4 Value5 Value6 我知道我可以通过POJO实现,其中我的集合将是POJO(例如a和b)字段,我可以在模板中调用它们,如: <table> <tr> <

我有两个单独的数据列表(集合),我想用它们创建一个表

ColumnA      ColumnB
Value1       Value1
Value2       Value2
Value3       Value3
Value4       Value4
             Value5
             Value6
我知道我可以通过POJO实现,其中我的集合将是POJO(例如a和b)字段,我可以在模板中调用它们,如:

<table>
<tr>
<th>ColumnA</th>
<th>ColumnB</th>
</tr>
<tr>
<#list object as c>
<td>${c.a}</td>
<td>${c.b}</td>
</#list>
</tr>
</table>

圆柱
专栏B
${c.a}
${c.b}
但是,我希望使用单独的集合并分别填充ColumnA和ColumnsB

你能告诉我最好的方法吗

例如:

数据输入(“set1”,set1)

数据输入(“set2”,set2)

模板:

<table>
<tr>
<th>ColumnA</th>
<th>ColumnB</th>
</tr>
<#list set1 as c>
<tr><td>${c}</td></tr>
</#list>
<#list set2 as d>
<tr><td>${d}</td></tr>
</#list>
</table>

圆柱
专栏B
${c}
${d}
因此,它将合并ColumnA的两个集合

固定的

<table>
<tr>
<th>ColumnA</th>
<th>ColumnB</th>
</tr>
<#if set1?size < set2?size>
<#list 0..set2?size-1 as i>
<tr><td>${set2[i]}</td></tr>
<tr>
    <td>
    <#if set1[i]??>
          ${set1[i]}
    <else> ////leave empty string
    </#if>
    </td>
 </tr>
</#list>
</#if>
</table>

圆柱
专栏B
${set2[i]}
${set1[i]}
////留空字符串
这不是一个最终的模板代码,我们需要涵盖其他(如果有的话),但这是我一直在寻找的解决方案

请参见

从序列中检索数据 这与哈希相同,但只能使用方括号语法,括号中的表达式必须计算为数字,而不是字符串。例如,要获取示例数据模型的第一个动物的名称(请记住,第一个项目的编号是0,而不是1):
animals[0]。name

以及内置的序列
大小

大小 序列中的子变量数(作为数值)。序列
s
中可能的最高索引是
s?size-1
(因为第一个子变量的索引是0),假设序列至少有一个子变量

如果要查找最大尺寸,请使用

最小值,最大值 返回序列(或集合)的较小(
min
)或最大(
max
)项。项目必须是所有数字,或者是相同类型的所有日期/时间值(仅日期、仅时间、日期-时间),否则将发生比较错误

这允许您执行以下操作:

<#list 0..<[sequenceA?size, sequenceB?size]?max as i>
  <tr>
  <td>${sequenceA[i]!""}</td>
  <td>${sequenceB[i]!""}</td>
  </tr>
</#list>

你好,贾斯珀。通过任何序列进行迭代对我来说都不是问题,但是考虑到seqA/seqB的大小可能会有所不同,如何分别填充ColumnA和ColumnB。因此,我可能会让ColumnA的大小为10个值,而ColumnB(基于seqB)的大小不同。然后找到最大的序列大小,使用它并检查
中的空值。谢谢Jasper,我成功地填充了两列