Play Framework:为什么我们将数据作为JSON返回并在客户端使用JavaScript将其注入HTML?

时间:2014-12-12 01:48:20

标签: playframework playframework-2.3

我对网络开发和Play框架有点新手,我刚看过几个Play教程,到目前为止我看过的每个教程都会将一个模型列表作为JSON返回给客户端然后构造在客户端使用JavaScript(已翻译的CoffeeScript)的JSON HTML列表。为什么不在我们的HTML视图中添加一个代码来进行for循环并在服务器端打印这些模型的列表?它似乎更容易,更直观,更不容易出错。

Here is one such Play tutorial, the official one from the Play webpage.

2 个答案:

答案 0 :(得分:0)

您要链接的演示文稿描述了创建Single Page Application (SPA),因此它通过JSON获取数据。没有看完它只是假设当作者一开始就提到他将要使用AngularJS。

使用SPA是否优于常用方法取决于很多因素,主要是项目规范,无法直接回答。

重要的是Play允许您同时使用它们,并且不会将程序员强制执行特定的程序。

答案 1 :(得分:0)

您可以在PlayFramework中浏览Scala模板以获得解决方案。

代码将是

在控制器中

public static Result orderPage(){
 // put your code here
 List<Order> orderList = new ArrayList<Order>();
 // add your order bean here.  
 return ok(orderList);
}

在应用中&gt; views创建一个文件orderPage.scala.html并按照以下链接中的scala模板文档进行操作

https://www.playframework.com/documentation/2.3.x/ScalaTemplates

在orderPage.scala.html

@(orders: List[Order])

<ul>
@for(order <- orders) {
  <li>@order.title</li>
}
</ul>

您需要从控制器传递模型并在html页面中接收模型。