Playframework 播放框架模板参数-传递子类
我有一个接受以下参数的视图模板:Playframework 播放框架模板参数-传递子类,playframework,playframework-2.1,Playframework,Playframework 2.1,我有一个接受以下参数的视图模板: @(groups: List[models.groups.AcademicGroup] 我有我的学术小组课: @MappedSuperclass public abstract class AcademicGroup extends Model 还有这样一个子类: @Entity public class SchoolClass extends AcademicGroup 从另一个模板中调用“我的视图”模板已起作用: @views.html.panels.
@(groups: List[models.groups.AcademicGroup]
我有我的学术小组课:
@MappedSuperclass
public abstract class AcademicGroup extends Model
还有这样一个子类:
@Entity
public class SchoolClass extends AcademicGroup
从另一个模板中调用“我的视图”模板已起作用:
@views.html.panels.groups(schoolClasses.asInstanceOf[java.util.List[models.groups.AcademicGroup]])
不起作用的是通过控制器直接传递子类:
public static Result schoolClasses() {
List<SchoolClass> schoolClasses = SchoolClass.find.all();
return ok(groups.render(schoolClasses));
}
公共静态结果学校班级(){
List SchoolClass=SchoolClass.find.all();
返回ok(groups.render(schoolClasses));
}
通过这种方法,我得到了错误消息:
The method render(List<AcademicGroup>) in the type groups is not applicable for the arguments (List<SchoolClass>)
类型组中的方法render(List)不适用于参数(List)
输入列表不起作用。我是否缺少什么,或者是否有一种方法可以隐式接受子类作为模板参数,就像您可以为Java泛型这样做:
List<? extends AcademicGroup>
List感谢serejja
传递List[\u如果我没有弄错的话,Scala(因此,在模板中)中的相同内容将是List[+models.groups.AcademicGroup]
(注意加号)。尝试传递列表[_