我從github克隆了一個項目。這是yesnault/Play20StartApp。玩法框架中的奇怪語法錯誤2.1.1
我下載了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>}
//值的消息不是選項的成員[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 [email protected]">@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 [email protected]">@value</span>
</p>
}
}
問題是應用程序在我改變它們後無法成功運行。
localhost:9000中的網頁顯示「not found:type Flash」和「value get不是play.data.validation.ValidationError的成員」。
誰能告訴我解決方案?謝謝!
當然,在我將它導入eclipse之前,我會運行eclipse。 – Dong