我试图从视图中调用主要布局(就像在docs中一样),但是我收到错误:
[error] C:\Users\Marco\Documents\Devel\Java\DroversWeb\app\views\device\list.sca
la.html:1: too many arguments for method apply: ()play.twirl.api.HtmlFormat.Appe
ndable in object _layout
[error] @views.html.shared._layout("User")
[error] ^
[error] C:\Users\Marco\Documents\Devel\Java\DroversWeb\app\views\shared\_layout.
scala.html:1: not found: value title
[error] ?@(title: String)
[error] ^
[error] two errors found
[error] (compile:compile) Compilation failed
[error] Total time: 34 s, completed 29-gen-2015 16.27.59
以下是我尝试使用的代码: 的 CONTROLLER
public static Result list() {
return ok(views.html.device.list.render());
}
列表视图
@views.html.shared._layout("User")
** _LAYOUT **
@(title: String)
<!DOCTYPE html>
<html lang="en">
<head>
....
</html>
** BUILD.SBT
...
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.5"
libraryDependencies ++= Seq(
"org.webjars" %% "webjars-play" % "2.3.0-2",
"org.webjars" % "bootstrap" % "3.3.1",
"org.webjars" % "jquery" % "2.1.1",
"org.webjars" % "pace" % "1.0.2",
"org.webjars" % "font-awesome" % "4.2.0",
"org.webjars" % "jquery-ui" % "1.11.2",
javaJdbc,
javaEbean,
cache,
javaWs,
"org.mongodb" % "mongo-java-driver" % "2.12.5",
"org.mongodb.morphia" % "morphia" % "0.109",
"org.mongodb.morphia" % "morphia-logging-slf4j" % "0.109",
"org.mongodb.morphia" % "morphia-validation" % "0.109",
"be.objectify" %% "deadbolt-java" % "2.3.2",
"com.feth" %% "play-authenticate" % "0.6.8"
)
** PLUGINS.SBT **
resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/"
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.7")
// web plugins
addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-gzip" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.0.0")
代码有什么问题?
我还尝试使用_layout中的(content: Html)
和list.scala.html中的html代码,但编译器始终在@(
not found: value title
之后停止
如果删除布局中的参数并使用@views.html.shared._layout()
调用它,则会正确编译。
答案 0 :(得分:0)
(Solved by a question edit - converted to a community wiki answer.)
OP写道:从头开始我现在有一个能够编译的项目...一切都是相同的,我逐个复制文件以找出问题但到目前为止没问题。用winmerge我看看文件夹,我可以看到,在目标\ scala-2.11 \ twirl .... \ shared_layout.template.html中,工作的是:
/**/ object _layout extends BaseScalaTemplate[play.twirl.api.HtmlFormat.Appendable,Format[play.twirl.api.HtmlFormat.Appendable]](play.twirl.api.HtmlFormat) with play.twirl.api.Template0[play.twirl.api.HtmlFormat.Appendable] { /**/ def apply():play.twirl.api.HtmlFormat.Appendable = { _display_ {
并且不起作用的是:
{{1}}我从原始项目中删除了_layout文件,复制了新文件(从winmerge的角度来看相同),现在它可以正常工作。