0

是否可以调用控制器方法在模板中呈现模板?或者这完全是错误的方法?

在 div 容器中,只显示了一个字符串,但我的 productTable 模板中没有重新渲染的 html。

内显示的字符串<div class="products">

SimpleResult(200, Map(Content-Type -> text/html; charset=utf-8))

模板:

@categories.map {cat =>
<div>some html</div>
<div class="products">@controller.Products.getByCatergoyId(cat.id)</div>
}

控制器:

public static Result getByCatergoyId(Long catId) {
List<Product> products = Product.find.where().eq("category.id", catId).findList();
return ok(views.html.display.productTable.render(products));
}
4

1 回答 1

2

如果你想从 productTable 视图中获取代码,你的方法不应该返回一个Result而只是一个String包含渲染的代码.... aaannnyyyyway ,在 Play 中渲染子模板肯定有更好的方法,检查标签部分文档它完全可以直接从视图中执行您想要的操作,当然您需要将产品对象传递给它。

只需tags在你的包中创建包view并在那里添加你的子模板(负责只渲染页面的一部分)它的行为与普通模板完全相同。

于 2013-09-16T12:54:54.540 回答