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



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

这是一个这样的Play教程,来自Play网页的官方教程。

您链接的演示文稿描述了创建单页应用程序 (SPA),因此它通过 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.scala.html并按照以下链接中的 scala 模板文档进行操作

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

按顺序页面.scala.html

@(orders: List[Order])
<ul>
@for(order <- orders) {
  <li>@order.title</li>
}
</ul>

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

最新更新