我是scala和Java Play的新手。我正在看一个看起来像这样的代码,但我收到了上述错误。尽管添加了花括号等,但我无法解决这个问题。任何帮助都非常感谢。 对不起,我忘了提到错误出现在@main中。即使我用@main(用户名)替换Some(用户名)也没有喘息的机会。路由这是相关代码的外观
CONF /路由
GET /Login controllers.Application.Login(username:String)
app / view / Login.scala.html看起来像这样
@(username: String)(implicit request: RequestHeader)
@main(Some(username)) {
<div class="page-header">
<h1>Login <small>You are Logging in as @username</small></h1>
</div>
<div id="onError" class="alert-message error">
<p>
<strong>Oops!</strong> <span></span>
</p>
</div>
<script type="text/javascript" charset="utf-8">
$(function() {
var WS = window['MozWebSocket'] ? MozWebSocket : WebSocket
var loginSocket = new WS("@routes.Application.UserLogin(username).webSocketURL()")
var receiveEvent = function(event) {
var data = JSON.parse(event.data)
// Handle errors
if(data.error) {
loginSocket.close()
$("#onError span").text(data.error)
$("#onError").show()
return
} else {
$("#onChat").show()
}
}
})
</script>
}
答案 0 :(得分:1)
根据错误消息,您提供了Some[String]
,其中play.api.templates.Html
是预期的。根据您提供的代码,最有可能的候选人是:
@main(Some(username)) {
基于此,我将其替换为:
@main(Html(username)) {
假设主视图的第一个参数属于Html
类型。