我使用Play相当新!并且使用scala,我无法弄清楚如何将自定义类类型传递给播放中的视图! 2.2.x的。
我想要完成的是:
有一个基类(例如)
public abstract class Category {
String Name;
String Info;
String Link;
}
将一些这些传递给视图:
@(categories: Array[Category])
@main{
{
//In here, iterate over all the categories and display their information.
}
使用控制器
public static Result categories() {
Category[] categoriesArray = new Category[3];
categoriesArray[0] = new blahCategory(...);
categoriesArray[1] = new fooCategory(...);
categoriesArray[2] = new someCategory(...);
return ok(categories.render( categoriesArray ));
}
我在名为“model”的文件夹下有抽象类,在“view”文件夹中有scala.html文件。
然而,当去网址时,玩!错误:
not found: type Category
In /home/me/MySite/app/views/categories.scala.html at line 0.
1 @(categories: Array[Category])
2
3 @main{
4 @heading()
5 {
6 }
答案 0 :(得分:2)
我认为您需要完全限定班级名称
@(categories: Array[model.Category])
或将模型包导入模板
@import model._
@(categories: Array[Category])
您还可以在project / Build.scala
中定义所有模板的通用导入val main = PlayProject(…).settings(
templatesImport += "model._"
)
答案 1 :(得分:0)
将您的课程添加到您的构建文件中的templatesImport
设置。
http://www.playframework.com/documentation/2.2.x/ScalaTemplates