【问题标题】:Strange syntax error in play framework 2.1.1play framework 2.1.1 出现奇怪的语法错误
【发布时间】:2013-12-16 13:45:17
【问题描述】:

我从 github 克隆了一个项目。是yesnault / Play20StartApp。

我下载了2.1.1版本,导入eclipse。

我可以成功运行应用程序,但 eclipse 一直告诉我 login.scala.html 和 wflash.scala.html 中有一些语法错误。

login.scala.html 如下。

@(loginForm: Form[Application.Login])

@import helper._
@implicitFieldConstructor = @{ FieldConstructor(twitterBootstrapInput.render) }

<h3>@Messages("signin.signin")</h3>

@form(routes.Application.authenticate(), 'class -> "form-vertical") {

@if(loginForm.hasGlobalErrors) {
    <p class="error">
        <span class="label important">@loginForm.globalError.message</span> </p>}

//值消息不是Option[play.api.data.FormError]的成员

<fieldset>
    @inputText(
        loginForm("email"),
        'placeholder -> Messages("email"),
        '_label -> null,
        '_help -> Messages("signin.your.email")
    )
    @inputPassword(
        loginForm("password"),
        '_label -> null,
        'placeholder -> Messages("password"),
        '_help -> Messages("signin.your.password")
    )
</fieldset>

<div class="form-actions">
    <input type="submit" class="btn btn-primary" value="@Messages("signin.signin")">
    <small><a href="@controllers.account.routes.Reset.ask">@Messages("forgot.password")</a></small>
</div>

}

这是 wflash.scala.html。

@import helper._
@import helper.twitterBootstrap._

未找到:值闪存

@flash.map {
    case (key, value) => {
        <p class="">
            <span class="badge badge-@key">@value</span>
        </p>
    }
}

我在login.scala.html中把@loginForm.globalError.message改成@loginForm.globalError.get.message后,里面的语法错误就会消失。

另外,如果我把 wflash.scala.html 改成这个,就不会有语法错误了。

@(implicit flash: Flash)
@import helper._
@import helper.twitterBootstrap._

@flash.data.map {
case (key, value) => {
    <p class="">
        <span class="badge badge-@key">@value</span>
    </p>
   }
}

问题是我更改后应用程序无法成功运行。

localhost:9000 中的网页显示“未找到:类型 Flash”和“获取的值不是 play.data.validation.ValidationError 的成员”。

谁能告诉我解决办法?谢谢!

【问题讨论】:

    标签: eclipse scala playframework


    【解决方案1】:

    结帐后,您应该 cd 到您的应用文件夹并运行 play eclipse 让 play 为您创建有效的 eclipse 项目。

    【讨论】:

    • 当然,我在将它导入到 eclipse 之前运行 play eclipse。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2011-02-27
    • 1970-01-01
    相关资源
    最近更新 更多