我从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中的网页显示“not found:type Flash”和“value get不是play.data.validation.ValidationError的成员”。
谁能告诉我解决方案?谢谢!
答案 0 :(得分:1)
结帐后,您将 cd 发送到您的应用文件夹,然后运行play eclipse
让您为您创建有效的eclipse项目。