java - Playframework - 如何在应用程序/ View 下创建子包?

标签 java playframework playframework-2.0

我使用的是 Play 2.4(Java 版),但我也对 >2.4 的解决方案感兴趣。这是我的问题。我想在 app/views 下构建我的模板文件夹的内容。所以我想在 app/views 下创建一些子包,但出现编译错误。这是我到目前为止尝试过的:

  1. 通过eclipse创建新的子包

    app/views/mediaViewers

  2. 在里面放一个模板standardViewer.scala.html

    app/views/mediaViewers/standardViewer.scala.html

  3. 尝试通过 Controller 类访问模板

    views.mediaViewers.html.standardViewer.render()

  4. 重建游戏项目

    激活器清理;激活器清理文件;激活器运行

当调用适当的路由时,我得到:

[error] .../Viewers.java:18: package views.mediaViewers.html does not exist
[error] views.mediaViewers.html.standardViewer
[error] ..../Viewers.java:21: package views.mediaViewers.html does not exist
[error] views.mediaViewers.html.standardViewer
[error] .../app/controllers/Viewers.java:24: package views.mediaViewers.html does not exist
...

[error] (compile:compileIncremental) javac returned nonzero exit code
[error] application - 

! @765kicfe1 - Internal server error, for (GET) [/] ->

play.sbt.PlayExceptions$CompilationException: Compilation error[package views.mediaViewers.html does not exist]
...

最佳答案

为了从 Controller 调用 View 模板,您应该始终在 View 名称前加上“views.html”前缀,因此对 standardViewer.scala.html 的调用将是:

views.html.mediaViewers.standardViewer

如果您查看 target/scala-/twirl 下生成的文件,您可以验证这一点,如图所示: project structure

关于java - Playframework - 如何在应用程序/ View 下创建子包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47506625/

相关文章:

java - 使用 Spring RestTemplate 检索 cookie

java - 句子中的重复单词

java - 包装一个游戏!应用程序直接进入 WAR

java - scala.io.Source 找不到现有文件

java - 渲染 Play framework 2.0 模板的一部分

java - 如何在Java类中调用Scala方法

java - 在play Framework 2.0中将变量分配给java列表

java - 使用枚举组合框中的值作为 setter 的参数

java - 无法更新应用程序 : Class file is Java 8 but max supported is Java 7

java - 提交时将表单字段转换为对象