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 测试

Playframework2 中的 Scala 模板

迁移 Playframework 2.4.3 到 2.7.0 中的问题

Playframework 中的跨站点脚本和 Web 参数篡改预防

HTML模板中的playframework JsValue