我刚开始阅读“Play for Java”一书。正在做他们的一些代码示例。我在我的 list.scala.html 文件中看到一些关于一些的警告
@for(product <- products) 中使用的无效文本字符串和字符{
当我去 localhost:9000/products/ -> 我只是得到一个空白屏幕。
我不知道如何更好地解释这个问题,因为我是新手......问我是否需要更多输入。
我刚开始阅读“Play for Java”一书。正在做他们的一些代码示例。我在我的 list.scala.html 文件中看到一些关于一些的警告
@for(product <- products) 中使用的无效文本字符串和字符{
当我去 localhost:9000/products/ -> 我只是得到一个空白屏幕。
我不知道如何更好地解释这个问题,因为我是新手......问我是否需要更多输入。
“空白页”不够清晰,您需要知道您的页面是否完全呈现(因此它正在显示但没有内容)或者是否没有任何反应。
您有两种方法:在视图的开头插入一些始终可见的元素,即:<h1>Producsts</h1>
第二件事是您应该始终检查浏览器中呈现页面的来源,以查看典型部分<!DOCTYPE html>
是否在适当的位置。
无论如何,在您的屏幕截图中,我至少看到两个错误:
你根本不......渲染视图,ok()
只是返回带有状态的空结果200
(这对于浏览器意味着:没关系 - 服务器说,这个地方没有合适的内容)。改用这个:
return ok(views.html.list.render(products));
// Where 'products' is Set<Product> filled probably from your DB
您正在尝试复制 <!DOCTYPE html>
,而它main.scala.html
之前可能已声明,因此您的结果 HTML 将无效。
在使用 Web 框架时,最好学习 Web 浏览器中的典型检查工具,如果页面看起来不像您预期的那样,您应该转到源视图并检查生成的 HTML。
进口必要的资料;
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));
}