Java 在使用PlayFramework2应用程序时,是否应该将所有视图对象放在包模型中?

Java 在使用PlayFramework2应用程序时,是否应该将所有视图对象放在包模型中?,java,playframework-2.0,Java,Playframework 2.0,我正在用playframework2应用程序做一些测试,我注意到如果我不 “模型”文件夹中的对象不允许在视图中使用它们 e、 假设我将一个类SimpleObject放在一个名为simple的包中 SimpleObject.class: 在我的应用程序控制器中 我使用新的SimpleObject渲染视图: public static Result doSomeAction() { SimpleObject simpleObject = new SimpleObject("test");

我正在用playframework2应用程序做一些测试,我注意到如果我不 “模型”文件夹中的对象不允许在视图中使用它们

e、 假设我将一个类SimpleObject放在一个名为simple的包中

SimpleObject.class:

在我的应用程序控制器中 我使用新的SimpleObject渲染视图:

public static Result doSomeAction() {
    SimpleObject simpleObject = new SimpleObject("test");       
    return ok(test.render(simpleObject));
}
在my test.scala.html中:

这将导致一个错误:

not found: type SimpleObject
如果我将SimpleObject移动到它编译并工作的包模型中

在我的另一个应用程序中,我实现了Elasticsearch模块。我收到了 我希望在视图中循环的IndexResult。我得到了与SimpleObject相同的错误

所以我这里的问题有点像建筑。这出戏的处理方法是什么? 我应该实现一个视图对象和一个构建器,抛出IndexResult对象并创建 视图对象? 或者有没有办法让我的应用程序也扫描其他软件包?
也许还有其他的想法?

您可以尝试在视图中使用导入,即:

@import simple._

或者您可以尝试在模型的子文件夹/包中组织模型/类。

您可以尝试在视图中使用导入,即:

@import simple._
或者,您可以尝试在模型的子文件夹/包中组织模型/类。

正如Jordan所写,如果包不在默认导入的控制器、模型和视图中,则必须导入包

另一种可能性是在声明中指定确切的包装:

@(simpleObject: my.own.package.which.isnt.in.models.or.controllers.SimpleObject)
@main("Here is the result:") {
    @{simpleObject.getName()}
}
正如Jordan所写,如果包不在默认导入的控制器、模型和视图中,则必须导入包

另一种可能性是在声明中指定确切的包装:

@(simpleObject: my.own.package.which.isnt.in.models.or.controllers.SimpleObject)
@main("Here is the result:") {
    @{simpleObject.getName()}
}