java - 在使用 playframework 2 应用程序时,我是否应该将所有 View 对象放入包模型中?

标签 java playframework-2.0

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

例如,假设我将一个类 SimpleObject 放在一个名为 simple 的包中。

SimpleObject.class:

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;
    }

}

在我的应用程序 Controller 中 我用一个新的 SimpleObject 渲染 View :

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 模块。在那里我收到 我想在我的 View 中循环的 IndexResult。我遇到了与 SimpleObject 相同的错误。

所以我这里的问题有点是架构性的。处理此问题的“玩 2 方式”是什么? 我应该实现一个 View 对象和一个构建器,将 IndexResult 对象放入并创建 View 对象? 或者有没有办法告诉我的应用程序也扫描其他包? 或许还有别的思路?

最佳答案

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

@import simple._

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

关于java - 在使用 playframework 2 应用程序时,我是否应该将所有 View 对象放入包模型中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785776/

相关文章:

exception - play activator - runtimeException : smtp. 主机需要在 application.conf 中设置才能使用此插件(或将 smtp.mock 设置为 true)

java - 如何使用文件(其中许多文件的完整路径在其中)作为MapReduce作业的输入

scala - 为混合特性的所有类构建操作

java - 线程和同步

java - 为不同的参数和类型编写具有相同业务逻辑的方法的最佳方法?

java - Play Framework 在请求开始时执行原始 sql?

java - Scala/Play : javax. xml.soap 请求 header 内容类型问题

playframework-2.0 - Play 2 将系统属性传递给测试用例

java - 泛型参数、项目还是节点?

java - JMenuBar 未从 RSyntaxTextArea 接收按键组合