我正在使用 playframework2 应用程序进行一些测试,我注意到如果我不将我的对象放在模型文件夹中,我将不允许在我的视图中使用它们。
例如,假设我将一个类 SimpleObject 放在一个简单的包名中。
简单对象类:
public class SimpleObject {
public SimpleObject(){}
public SimpleObject(String name){
this.name = name;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在我的应用程序控制器中,我使用新的 SimpleObject 渲染视图:
public static Result doSomeAction() {
SimpleObject simpleObject = new SimpleObject("test");
return ok(test.render(simpleObject));
}
在我的test.scala.html 中:
@(simpleObject: SimpleObject)
@main("Here is the result:") {
@{simpleObject.getName()}
}
这会导致错误:
not found: type SimpleObject
如果我将 SimpleObject 移动到包模型中,它会编译并工作。
在我的另一个应用程序中,我实现了 Elasticsearch 模块。在那里我收到一个我想在我的视图中循环的 IndexResult。我得到与 SimpleObject 相同的错误。
所以我在这里的问题有点建筑学。处理这个问题的“play 2 way”是什么?我应该实现视图对象和构建器,将 IndexResult 对象放入并创建视图对象吗?或者有没有办法告诉我的应用程序也扫描其他包?或许还有别的思路?