【问题标题】:Play Framework Main Code not getting播放框架主代码没有得到
【发布时间】:2014-01-10 16:27:36
【问题描述】:

我是 Java 新手,也喜欢玩。我无法理解这种说法:-

    public static Result index(){
return ok("Got request " + request() + "!");
}

public static Result index() 是什么类型的对象? 我猜索引是一种方法,并且正在返回一个 Result 类型的对象。但是它是如何在包含类之外定义的,因为它在 Java 中是不允许的。 文档说明这是一个动作方法,但在 Java 中又不允许使用单数方法,不是吗?

【问题讨论】:

  • 如果我没记错的话(并且对游戏的理解非常有限)索引被映射为游戏路由配置的一部分
  • 你是绝对正确的,不能在类(或接口)之外的 Java 中创建方法。最后我检查了一下,Play 文档经常遗漏作者认为不言而喻的东西,比如导入和类声明。这无疑会让 Java 新手感到困惑!
  • 是的,情况就是这样,我现在在 eclipse 中正确地查看了它,它实际上在一个类中。只是看文档让我很困惑。

标签: java playframework playframework-2.0


【解决方案1】:
  • 这实际上是一个Action,基本上是一个处理请求的java方法 参数并生成要发送给客户端的结果。它返回一个 play.mvc.Result 值,表示要发送到的 HTTP 响应
    网络客户端
  • 控制器只不过是一个扩展play.mvc.Controller 的类,它组合了几个动作方法,如index()
  • Result表示结果由play.mvc.Result定义,产生标准HTTP结果,如ok方法

我不太清楚你所说的奇异方法是什么意思。简单地说,Controller 是我们定义处理请求并返回Result 对象的操作方法 的类。 Play 就是这样做的!

【讨论】:

  • 是的,你是对的。不要混淆。所有动作方法都只在 Play 中定义在控制器类中!
【解决方案2】:

它不在课堂之外。玩!文档中充满了这些代码“存根”,这些代码“存根”旨在成为更大方案的一部分,但有时会让人感到困惑。如果你是新手!和/或 Java,如果您开始研究提供的示例(至少我是这样做的!)然后参考文档,您会找到更好的方法。

我还没有听说过单一方法。但请注意,这里的 index() 是一个 static 方法。这意味着它是一个类级别的方法,不属于该类的任何具体实例。如果你有兴趣,这里有一个关于为什么玩的讨论!正在使用静态方法: Play! framework uses a <lot> of statics

【讨论】:

    猜你喜欢
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多