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

scala – 无法找到参数flash的隐含值

发布时间:2020-12-16 09:14:32 所属栏目:安全 来源:网络整理
导读:我试图将一些代码从Play Framework Java移植到Play Framework Scala,但是我在移植标签时遇到一些问题. Java版本中有问题的标签检查Flash范围的内容,并根据其值(错误,成功等)向用户创建通知. 我试图创建一个Scala视图(flag.scala.html): @()(implicit flash:
我试图将一些代码从Play Framework Java移植到Play Framework Scala,但是我在移植标签时遇到一些问题.

Java版本中有问题的标签检查Flash范围的内容,并根据其值(错误,成功等)向用户创建通知.

我试图创建一个Scala视图(flag.scala.html):

@()(implicit flash:play.mvc.Scope.Flash)

@if(flash.get("error")) {
    <p style="color:#c00">
        @flash.get("error")
    </p>
}

我从main.scala.html通过以下方式打电话:

@views.Application.html.flag()

我得到的错误是:

The file {module:.}/tmp/generated/views.html.main.scala could not be
compiled. Error raised is : could not find implicit value for
parameter flash: play.mvc.Scope.Flash

对新标签的调用是正确的,就像我用浏览器中显示的一些字符串替换内容一样.

我确定这是一个愚蠢的事情,但我被卡住了.任何建议?

解决方法

我不知道Play的细节,但这个编译错误是说你应该:

>在调用flag()时传递一个显示的play.mvc.Scope.Flash实例,

views.Application.html.flag()(myFlash)

要么
>在调用flag()的范围内创建Flash的隐式实例.您可以通过导入某些对象的内容(import some.path.FlashImplicits._)或通过自己定义隐式实例来执行此操作,

implicit val myFlash: play.mvc.Scope.Flash = ...
...
views.Application.html.flag()

所以真正的问题就是:你想从哪里得到这个Flash实例?

(编辑:李大同)

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

    推荐文章
      热点阅读