这个Play模板代码可以简化(避免if / else标签)吗?

时间:2011-09-06 07:42:30

标签: templates groovy playframework

我有以下HTML代码:

#{if title == 'Subnet' }
    <li><a href="@{SubnetController.list}" class="selected">&{'subnet'}</a></li>
#{/if}
#{else}
    <li><a href="@{SubnetController.list}">&{'subnet'}</a></li>
#{/else}

是否可以使用更少的代码执行此操作,可能使用我不知道的常规运算符?

4 个答案:

答案 0 :(得分:6)

<li><a href="@{SubnetController.list}" #{if title == 'Subnet'} class="selected" #{/if} >&{'subnet'}</a></li>

应该这样做。

答案 1 :(得分:1)

以下也应该做到这一点:

<li><a href="@{SubnetController.list}" #{title == 'Subnet'? 'class="selected"' : ''}>&{'subnet'}</a></li>

答案 2 :(得分:0)

我通常使用自定义标签在我的模板中封装表示逻辑,所以在你的情况下,我有:

<li><appName:subnetLink title=${title} /></li>

我的2美分。

答案 3 :(得分:0)

以下也应该做到这一点:

 <li> <a href="@{SubnetController.list}" ${title == 'Subnet'? 'class="selected"'.raw() : ''}> 
 ${'subnet'}</a></li>