playframework 视图中的 if/else 语句
Posted
技术标签:
【中文标题】playframework 视图中的 if/else 语句【英文标题】:If/else statement in playframework's view 【发布时间】:2013-01-11 06:24:18 【问题描述】:我有一个像这样的条件语句的视图
#list items: allTasks, as: 'task'
<div class="task grid_12">
#list items:allClients, as: 'client'
<div class="client grid_1">
#list items:allTasksDone, as: 'taskDone'
#if task.name==taskDone.task.name && client.name ==taskDone.client.name
Done
#/if
#else
Not yet
#/else
#/list
</div>
#/list
</div>
#/list
但结果是:如果条件为真,则显示“Done Not Yet”,如果条件为假,则显示“Not yet Not yet”。 结果似乎是双倍的。 如何解决这个问题?
【问题讨论】:
根据文档,复合条件应该用括号括起来。 playframework.org/documentation/1.2.5/tags 我已将括号添加为`#if (task.name == taskDone.task.name && client.name == taskDone.client.name)`,但它仍然不起作用 你确定你没有混淆包装#list循环的不同迭代的结果。尝试在 Done 或 Not Yet 之前打印 $taskDone_index,并添加 以确保。 【参考方案1】:感谢帕拉科。是的,这是因为循环变量“taskDone”。我已经检查并修改了我的代码,如下所示:
<div class="task grid_24">
<div class="client grid_3">
Task/Client
</div>
#list items:allClients, as: 'client'
<div class="client grid_2">
$client.name </div>
#/list
</div>
#list items: allTasks, as: 'task'
<div class="task grid_24">
<div class="client grid_3">
$task.name
</div>
#list items:allClients, as: 'client'
%
i =0;
%
<div class="client grid_2">
#list items:allTasksDone, as: 'taskDone'
#if (taskDone.task == task && taskDone.client == client )
%
i++;
%
#/if
#/list
<div class="taskStatus grid_2">
#if i>0Done#/if
#else Not yet#/else
</div>
</div>
#/list
</div>
#/list
【讨论】:
以上是关于playframework 视图中的 if/else 语句的主要内容,如果未能解决你的问题,请参考以下文章
Playframework 在带有 ajax 的视图中使用 jeditable
intellij idea 中的 playframework 测试
迁移 Playframework 2.4.3 到 2.7.0 中的问题