2014-01-18 32 views
0

即時通訊使用Play相當新穎!並使用Scala,我不知道如何將自定義類類型傳遞到視圖中! 2.2.x中傳遞自定義類以播放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 } 

回答

2

我認爲你要麼需要完全限定類名

@(categories: Array[model.Category]) 

或導入模型包到您的模板

@import model._ 
@(categories: Array[Category]) 

您還可以定義通用進口所有您的項目模板/ Build.scala

val main = PlayProject(…).settings(
    templatesImport += "model._" 
) 

documentation

+0

是的,@(categories:Array [model.Category])像一個魅力。應該意識到,我認爲(錯誤地)它將包括模型文件夾中的所有內容 – RichyHBM