从Play模板中的字符串转换为类字段

时间:2013-08-18 17:50:44

标签: scala playframework playframework-2.0

我在游戏框架中有一个模型

public class XYZ extends Model
{
    @Id 
    public int a; 
    public String field1; 
    public String field2; 
}

在我的index.scala.html中,我需要动态生成field1field2 我有一个xyz类的对象XYZ 我需要获得xyz.field1的价值 我使用field1在我的代码中动态生成字符串"field".concat("1"),现在我需要将此字符串转换为字段以便调用xyz.field1
我无法弄清楚如何在scala.html文件中进行此转换。

1 个答案:

答案 0 :(得分:1)

您可以使用反射按名称获取字段,即使在模板中也是如此。

 @classof[XYZ].getField("field" + fieldNum).get(xyz)

如果您只有两个字段,那么简单的if / else可能是获取字段值的更好方法。如果它更复杂,请在模型中创建一个方法并使用一些switch语句或地图,例如 Mikesname