【问题标题】:Play exception: '{' expected but 'import' found播放异常:“{”预期但发现“导入”
【发布时间】:2013-09-29 04:02:28
【问题描述】:

它抛出了第 3 行的异常。问题是我只有这些行:

package controllers

import play.api._
import play.api.mvc._
import views._
import models._

object Application extends Controller {

  def index = Ok(views.html.index("grrr", "blabla"))

}

编辑:index.scala.html

@import helper._

@main("Todo") {

    <h1>Hello World</h1>

}

我在 windows xp (with sbt) 上使用 play 2.2.0

【问题讨论】:

  • 错误在哪里(行号,文件)表明要找到问题?它可能在你的控制器以外的地方。
  • 错误来自我显示的文件,controller.application 文件
  • 您的Application 代码似乎是正确的。可以显示index.scala.html 文件吗?

标签: scala playframework-2.0


【解决方案1】:

我认为问题在于 IDE 中的行分隔符。我曾经将 LF(Linux) 更改为 CR(Mac)(错误地,不知道这会对编译产生影响)并且遇到同样的问题。更改为默认 sperator 后,一切恢复正常。

【讨论】:

    【解决方案2】:

    Play 中的第一行!模板是为签名定义保留的。当您创建新的 Play 应用程序时,Welcome 屏幕中也会提到这一点。

    除了为什么要导入 helper._ 的问题之外,我会执行以下操作:

    1. 使第一行为空,或至少 NO 个 import 语句。
    2. 运行play clean
    3. 之后它应该可以工作了,我希望 :-)

    更多信息:

    编辑:2013.09.24 22:15

    您将两个参数传递给您的视图模板 (views.html.index("grrr", "blabla")),(视图被编译为函数)。所以在你的函数(`index view')的第一行应该定义函数签名(参数)。我认为你应该把你的模板写成:

    @(firstString : String, secondString : String)
    
    @import helper._
    
    @main("Todo") {
    
        <h1>Hello World</h1>
    
    }
    

    【讨论】:

    • 问题依然存在。顺便说一句,我没有使用 play 命令,只是直接 sbt。
    猜你喜欢
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多