【发布时间】: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