Playframework Play Framework:为什么我们以JSON的形式返回数据,并在客户端用JavaScript将其注入HTML?

Playframework Play Framework:为什么我们以JSON的形式返回数据,并在客户端用JavaScript将其注入HTML?,playframework,playframework-2.3,Playframework,Playframework 2.3,我对web开发和Play框架有点陌生,尤其是,我刚刚看过几个Play教程,到目前为止,我看过的每个教程都会将一个模型列表作为JSON返回给客户端,然后在客户端用JSON和JavaScript(翻译的CoffeeScript)构建HTML列表。为什么不在我们的HTML视图中添加一个代码来执行for循环并在服务器端打印这些模型的列表呢?它似乎更容易、更直观、更不容易出错 您链接的演示文稿描述了如何创建,因此它通过JSON获取数据。我并没有完整地看它,只是可以假设,当作者在一开始提到他将使用Angul

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


您链接的演示文稿描述了如何创建,因此它通过JSON获取数据。我并没有完整地看它,只是可以假设,当作者在一开始提到他将使用AngularJS

使用SPA是否比普通方法更好取决于许多因素,主要取决于项目规范,不能直接回答


最重要的一点是,Play允许您同时使用这两种工具,而不强制程序员使用特定的工具。

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

代码将是

在控制器中

public static Result orderPage(){
 // put your code here
 List<Order> orderList = new ArrayList<Order>();
 // add your order bean here.  
 return ok(orderList);
}
公共静态结果orderPage(){
//把你的代码放在这里
List orderList=new ArrayList();
//在这里添加您的订单bean。
返回ok(订单列表);
}
在“应用>视图”中,创建一个文件orderPage.scala.html,并按照以下链接中的scala模板文档进行操作

在orderPage.scala.html中

@(orders: List[Order])

<ul>
@for(order <- orders) {
  <li>@order.title</li>
}
</ul>
@(订单:列表[订单])
    @订购