我在 PlayFramework2.2.6 的 Scala View 中循环遍历 Person
的集合。
Person
类是 User
、Contact
类的父类(super class)。
在循环时我想访问一些为扩展类指定的参数,例如 User
类中的 email
属性。
这是模型的类:
public class Person {
int id;
String name;
Date date;
}
public class User extends Person {
String email;
String login;
String password;
}
public class Contact extends Person {
Address address;
}
public class Customer {
List<Person> persons;
// AND NOW I WOULD LIKE TO DO THIS IN SCALA TEMPLATE
public void print() {
for(Person person: this.persons) {
if(person instanceof User) {}
System.out.println(((User)person).email);
}
}
}
View 层:
@for(person <- persons) {
@if(person instanceOf User) {
@((User)person).email
}
}
但是我得到一个错误:
value instanceOf is not a member of models.Person
请给我一些帮助:
- 如何将变量转换为指定类型
- 如何验证变量的类型/实例
在 PlayFramework 的 Scala 模板/ View 层中。 谢谢。
最佳答案
Scala/Twirl 的等价物应该是:
验证实例类型:
person.isInstanceOf[User] // bool?
转换:
person.asInstanceOf[User] // User instance
关于java - playFramework 中 Scala View 模板的转换和实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30574831/