4

我很难将一些模板从 1.2.4 转换为 2.0。

到目前为止,我设法遍历了所有 flash 元素,但我想分别获取 Key 和 Message (@msgKey 包含一个列表,我不知道如何拆分它:/) => (success, Your data has been updated)

一点帮助将不胜感激!:)

这是原始代码:

#{if flash.data.size() > 0}
    #{list items:flash.data, as:'msg'}
        #{if msg.key.substring(0, 4).equals('info')}#{set msg_type:'info' /}#{/if}
        #{if msg.key.substring(0, 4).equals('succ')}#{set msg_type:'success' /}#{/if}
        #{if msg.key.substring(0, 4).equals('warn')}#{set msg_type:'warning' /}#{/if}
        #{if msg.key.substring(0, 4).equals('erro')}#{set msg_type:'error' /}#{/if}
        <div class="alert alert-${msg_type}" data-dismiss="alert">  
            <a title="Close that message" class="close">×</a>
            ${msg.value.raw()}
        </div>
    #{/list}
#{/if}

这是新的:

@if(!flash.isEmpty()) {
    @for(msgKey <- flash) { 
        <div class="alert alert-@msgKey" data-dismiss="alert">      
            <a title="@Messages("misc.message.close")" class="close">×</a>
            @msgKey
        </div>
    }
}

感谢您的帮助,我很感激!

4

2 回答 2

6

除了Marius 解决方案,您还可以这样写:

@if(!flash.isEmpty()) {
    @for((msgKey, msgValue) <- flash) { 
        <div class="alert alert-@msgKey" data-dismiss="alert">      
            <a title="@Messages("misc.message.close")" class="close">×</a>
            @msgKey
        </div>
    }
}
于 2012-04-17T21:41:02.967 回答
4

闪存中的数据是一个Map,对其进行迭代会产生一个由两个元素组成的元组,即键和值。您可以使用 访问键,使用 访问@msgKey._1@msgKey._2

于 2012-04-17T18:29:40.740 回答