Scala(2.11.1)& play framework(2.x)if在Flash范围内带变量的语句

时间:2014-12-09 15:54:35

标签: scala playframework playframework-2.0

抬头:我是Play! framework&的新手。 Scala

在我的控制器中,我在 flash范围

中设置了一个变量(String类型)
 flash("success", "Well done!");

在Scala模板中,我们将其称为pageName.scala.html,我可以显示其值,例如:

 @flash.get("success")

但是我想在它周围添加一些HTML:只显示相关的HTML&必要时闪烁变量值。这是一些描述我想做的伪代码:

 if successVarInFlashScope is not empty
   <div class="global-notification__inner">
     <div class="global-notification__msg">@flash.get("success")</div>
   </div>
 end if

我尝试了一些不同的东西,但没有运气。

我也调查了Play framework documentation&amp;在StackOverflow,但也没有运气。

资源:

1 个答案:

答案 0 :(得分:3)

<强> Scala的:

get上的Flash方法会返回Option[String]map

@flash.get("success").map { msg =>
   <div class="global-notification__inner">
     <div class="global-notification__msg">@msg</div>
   </div>
}

<强>爪哇:

Play Java中的

Http.Flash扩展了java.util.HashMap,因此get将返回Stringnull。不幸的是,我们不能像Java中的上述代码一样优雅,因此if必须这样做。

if(@flash.get("success") != null) {
   <div class="global-notification__inner">
     <div class="global-notification__msg">@flash.get("success")</div>
   </div>
}

if(@flash.containsKey("success"))