0

我刚开始阅读“Play for Java”一书。正在做他们的一些代码示例。我在我的 list.scala.html 文件中看到一些关于一些的警告

@for(product <- products) 中使用的无效文本字符串和字符{

当我去 localhost:9000/products/ -> 我只是得到一个空白屏幕。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我不知道如何更好地解释这个问题,因为我是新手......问我是否需要更多输入。

4

2 回答 2

3

“空白页”不够清晰,您需要知道您的页面是否完全呈现(因此它正在显示但没有内容)或者是否没有任何反应。

您有两种方法:在视图的开头插入一些始终可见的元素,即:<h1>Producsts</h1>第二件事是您应该始终检查浏览器中呈现页面的来源,以查看典型部分<!DOCTYPE html>是否在适当的位置。

无论如何,在您的屏幕截图中,我至少看到两个错误:

  1. 你根本不......渲染视图,ok()只是返回带有状态的结果200(这对于浏览器意味着:没关系 - 服务器说,这个地方没有合适的内容)。改用这个:

    return ok(views.html.list.render(products)); 
    // Where 'products' is Set<Product> filled probably from your DB
    
  2. 您正在尝试复制 <!DOCTYPE html>,而它main.scala.html之前可能已声明,因此您的结果 HTML 将无效。

在使用 Web 框架时,最好学习 Web 浏览器中的典型检查工具,如果页面看起来不像您预期​​的那样,您应该转到源视图并检查生成的 HTML。

于 2013-01-18T07:15:37.173 回答
0

进口必要的资料;

    import play.mvc.Controller;
    import play.mvc.Result;
    import models.Product;
    import java.util.List;
    import views.html.products.list;

控制器的列表方法如下:

    public static Result list(){
        List<Product> products = Product.findAll();
        return ok(list.render(products));
    }
于 2018-07-04T23:22:02.323 回答