加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

play框架中的scala模板中的变量

发布时间:2020-12-16 18:21:51 所属栏目:安全 来源:网络整理
导读:我需要能够声明变量并在稍后标记后我 需要参考它们.为了实现这一点,这是 我的 scala模板的简化版本: @(map1: java.util.LinkedHashMap[String,java.util.LinkedHashMap[String,Object]]) @import scala.collection.JavaConversions._ @import play.Logger @
我需要能够声明变量并在稍后标记后我
需要参考它们.为了实现这一点,这是
我的 scala模板的简化版本:

@(map1: 
java.util.LinkedHashMap[String,java.util.LinkedHashMap[String,Object]]) 
@import scala.collection.JavaConversions._ 
@import play.Logger 
@for( (key,value) <- map1) { 
    <div> 
    @{ 
       val rmap = Foo.someMethod(value) 
       val baz = rmap.getOrElse("baz",null) 
    <table border="0"  cellpadding="0" cellspacing="0"  > 
    <tbody> 
    <tr> 
      <td rowspan="3"> 
        <div class="bar"> 
          @baz 
        </div> 
      </td> 
    </tr> 
    </tbody> 
  </table> 
  } 
  </div> 
}

是上面有效的scala模板,如果不是,我怎么能声明baz和
稍后在标记中引用它?
我使用的是1.2.2RC2和scala 0.9.1

解决方法

我很好奇所以做了一些挖掘.见 https://groups.google.com/forum/#!topic/play-framework/Mo8hl5I0tBQ – 目前没有办法,但展示了一个有趣的解决方法.定义utils / Let.scala:

package utils
Object Let {
    def let[A,B](a:A)(f:A=>B):B = f(a)
}

然后

@import utils.Let._

@let(2+3){ answer =>
   @answer <hr> @answer
}

这是一种非常实用的处理方式,但是,你对Scala的期望是什么:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读