Templates 在Scala Play框架中导入statment不';行不通
我有以下代码:Templates 在Scala Play框架中导入statment不';行不通,templates,scala,playframework,Templates,Scala,Playframework,我有以下代码: @(data: model.FrontPageData, list:List[model.FrontPageData])( implicit params:play.mvc.Scope.Params, flash:play.mvc.Scope.Flash, errors:Map[String,play.data.validation.Error] ) @import controllers._ <html> <head> &
@(data: model.FrontPageData, list:List[model.FrontPageData])(
implicit
params:play.mvc.Scope.Params,
flash:play.mvc.Scope.Flash,
errors:Map[String,play.data.validation.Error]
)
@import controllers._
<html>
<head>
<title>some title</title>
</head>
<body>
....
@(数据:model.FrontPageData,列表:list[model.FrontPageData])(
含蓄的
参数:play.mvc.Scope.params,
flash:play.mvc.Scope.flash,
错误:映射[String,play.data.validation.Error]
)
@导入控制器_
一些头衔
....
而Play Framework返回此错误:
无法创建文件/app/views/Application/frontPageEditor.scala.html
进行汇编。引发的错误是:简单表达式的开始非法
在线
@↓导入控制器。< < /代码> 不能从代码中间的模板中使用<代码>导入< /代码>语句,这是播放模板的一个限制。必须按照将它们放在模板的开头
不过,您可以使用完全限定名。在您的情况下,如果您有controller XController,请执行以下操作:
controllers.XController.method()
访问它
(评论后编辑)根据play framework支持响应,它正在解析windows系统上的错误。
在linux系统上它可以工作。
希望他们能尽快在windows上修复它。但为什么文档中允许使用它呢?您是对的,导入问题是Java,而不是Scala。但是文档中写道:“您可以在模板开始时导入任何想要的模板(或者子模板),您的问题是您正在导入模板中间。我已经尝试将它作为第一行,并且在参数列表之后-结果是相同的!你厌倦使用导入状态了吗?@yura现在无法测试,我这里没有Play env。我想说的是,你最好的选择是简单地使用完全限定的名称。根据文档,第一行中的导入应该有效,否则您可能会对Play Scala模块提出错误。老实说,我从不使用导入,我总是在模板中使用限定名称,因为我从使用Java的Play开始,它就是这样工作的(