【发布时间】:2014-05-01 14:48:44
【问题描述】:
我想用 ftl 代码打印一个矩阵,所以我有两个列表活动和技能 一个活动包含一个能力列表,所以如果活动(i)包含技能(i),我将 x 设置在矩阵中的正确位置 这是我的代码
<div id="menu" class="one whole">
<div class="one sixth">a\c</div>
[#list 1..y as i]
<div class="one sixth">c${i}</div>
[/#list]
[#list 1..x as ss]
<div class="one sixth">a${ss}</div>
[#assign l = activities[ss].getCompetences()?size]
[#if l > 0]
[#assign liste = activities[ss].getCompetences()]
<li><a href="?3.0.1.0">${activities[16].getCompetences()[1].name}</a></li>
<li><a href="?3.0.1.0">${activities[16].getCompetences()[0].name}</a></li>
<li><a href="?3.0.1.0">${activities[17].getCompetences()[1].name}</a></li>
<li><a href="?3.0.1.0">${activities[17].getCompetences()[0].name}</a></li>
[#list 1..y as j]
[#assign vrai = 0]
[#assign x2 = '${skills[j].name}']
[#assign l = activities[ss].getCompetences()?size]
[#list 0..l as element]
[#assign x1 = '${activities[ss].getCompetences() [element].name}']
[#if x1 == x2]
[#assign vrai = vrai+1]
[/#if]
[/#list]
[#if vrai > 0]
<div class="one sixth">X</div>
[#else]
<div class="one sixth">000</div>
[/#if]
[/#list]
[#else]
[#list 1..y as j]
<div class="one sixth">000</div>
[/#list]
[/#if]
[/#list]
</div>
错误的原因是:freemarker.core.InvalidReferenceException: Expression activities[ss].getCompetences()[element] is undefined on line 25,([#assign x1 = '${activities[ss].getCompetences() [元素].name}'])
但是这个表达式在这里是正确的(a):
谁能找出问题所在。
model.put("activities", activities);
model.put("skills", skills);
model.put("x", x);
model.put("y", y);
【问题讨论】:
标签: html freemarker