Templates 如何在scala模板中循环flash元素?

Templates 如何在scala模板中循环flash元素?,templates,scala,playframework-2.0,Templates,Scala,Playframework 2.0,我很难将一些模板从1.2.4翻译成2.0 到目前为止,我设法循环了所有flash元素,但我想分别获取密钥和消息(@msgKey包含一个列表,我不知道如何拆分它:/)=>(成功,您的数据已更新) 如果您能提供一点帮助,我们将不胜感激!:) 以下是原始代码: #{if flash.data.size() > 0} #{list items:flash.data, as:'msg'} #{if msg.key.substring(0, 4).equals('info')}

我很难将一些模板从1.2.4翻译成2.0

到目前为止,我设法循环了所有flash元素,但我想分别获取密钥和消息(@msgKey包含一个列表,我不知道如何拆分它:/)=>
(成功,您的数据已更新)

如果您能提供一点帮助,我们将不胜感激!:)

以下是原始代码:

#{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.data.size()>0}
#{列表项:flash.data,格式为:'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}
×
${msg.value.raw()}
#{/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>
    }
}
@if(!flash.isEmpty()){

@对于(msgKey闪存中的数据是a,对其进行迭代会产生a、键和值。您可以使用
@msgKey.\u 1
访问键,使用
@msgKey.\u 2

访问值。此外,您还可以编写以下内容:

@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>
    }
}
@if(!flash.isEmpty()){

@对于((msgKey,msgValue)这不是一个列表,它是一个元组。感谢您的精确性,我对scala非常陌生!:pYou可能想为这个问题设置一个合适的标题!您有什么建议,@Somatik?刚刚提交了一个编辑,但不知道这个同行评审是如何工作的。“如何在scala模板中循环flash元素?”不过,在元组上进行模式匹配会更好,就像Daniel C.Sobral的回答一样。这太完美了!如果要设置与之相关的类名,请给我一个提示,告诉我如何检查键的前4个字符串。我会特别推荐
@if(msgKey.startsWith(“info”){…
或模式匹配。