我们可以完全避免Scala,只需使用Play!骨架

时间:2012-06-12 12:20:20

标签: java web-applications playframework

这是一个全新的问题。是否可以使用Play!框架,而不必使用任何Scala?

即使我创建一个纯Java应用程序,它似乎创建index.scala.html并使用Scala @语法。 Play上是否有纯Java应用程序的样本!网站?

我不想花时间学习Scala的语法(不过很多文档都向我保证它“就像java”)。所以基本上我希望app堆栈是HTML,CSS,Jquery和服务器上的一个可靠的java框架,像mongo这样的db。而已。

如果没有播放!可以使用什么(最近)框架?

4 个答案:

答案 0 :(得分:6)

如果您使用的是Play 2,那么您可以完全使用java: 您可以在文档中注意到,您可以使用scala以这种方式生成响应

public static Result homePage() {
  return ok(views.html.index.render());
}

其中“index”是从内部scala模板引擎生成的某个类。 但是,您也可以编写自己的回复,如下所示:

public static Result homePage() {
  return ok("<html><body>Hello world!</body></html>");
}

正如您所看到的,您不会被推到这里使用scala模板系统。 ok()方法想要的是将字符串发送到客户端(使用HTML OK标头)。 如何生成HTML代码完全取决于您。你可以使用scala模板引擎,你可以纯粹用java代码生成这个字符串,或者你可以编写一些包装器并使用一些完全不同的库。

所以答案是:是的,你根本不必使用scala。

请参阅examples of play 2 controllers without scala

但我强烈建议你使用至少一些模板系统......

答案 1 :(得分:2)

Play 2确实为视图创建了scala,但是有一个Groovy模块允许您以与在Play 1中相同的方式编写视图。

Groovy模块的链接在这里 - https://github.com/mbknor/gt-engine-play2

答案 2 :(得分:0)

如果您切换到Play 1.2.4(6个月前发布),那么您可以避免使用scala模板,并且可以找到示例文件(在文件夹samples-and-tests中),例如“index.html”而不是“ index.scala.html“

如果你谷歌“播放1.1文档pdf”,你也可以找到较旧的Play文档,在那里你会找到一本让事情看起来更容易的手册。它也解释了所有的例子。

答案 3 :(得分:-1)

我认为你正在使用Play 2。 您可以用Java编写整个应用程序。

然而,模板是使用scala完成的。根据我的理解,这是你需要学习的一小部分scala,并且不需要你完全学习语言。

Play 1使用groovy进行模板化,还有另外两个模板模块(japid和rythm)。

无论你决定使用哪种框架,你都不太可能使用纯java(想想jsp!)