Java 在Scala Play中获取局部变量名!Mailer()返回空值?
我有一个应用程序正在使用这个游戏!框架我正在将变量绑定到模板,并建立在可能成为游戏救命符的基础上!: 传入的示例对象的输出:Java 在Scala Play中获取局部变量名!Mailer()返回空值?,java,scala,playframework,local-variables,Java,Scala,Playframework,Local Variables,我有一个应用程序正在使用这个游戏!框架我正在将变量绑定到模板,并建立在可能成为游戏救命符的基础上!: 传入的示例对象的输出: List(public java.lang.String models.Account.name(), public static final scala.Op tion models.Account.get(long), public boolean models.Account.equals(java.lang.Ob... 你知道如何进一步过滤吗 第二次编辑 到目前
List(public java.lang.String models.Account.name(), public static final scala.Op
tion models.Account.get(long), public boolean models.Account.equals(java.lang.Ob...
你知道如何进一步过滤吗
第二次编辑
到目前为止,我已经成功地生成了每个对象及其属性的列表,但不幸的是,它仍然会在填充的列表中触发相同的错误:
val oname = o.getClass.getName.replaceAll("models.","").toLowerCase
val names = o.getClass.getDeclaredFields.toList.map(_.getName.toString).map(oname+"."+_)
给出:
List(account.id, account.name, account.address,...
任何关于剧中哪里出了问题的见解!模板化?在编辑2中,我能够获得传入的每个对象的属性名。然而,我遇到的问题实际上是由类本身引起的,所以我修改了一些东西来修复它。我创造了这个:
for ((name:String, o:Object) <- args) {
templateHtmlBinding += (name -> o)
templateTextBinding += (name -> o)
}
和模板中的引用,如:
${account.name}
getClass.getFields
将为您获取该类的所有公共变量的名称getclass.getDeclaredFields
将为您获取类public和non.interest的所有变量的名称,这将返回所有相关数据。我必须找到一个scala列表方法来提取额外的东西,比如“private final long”等等。谢谢!后续操作:getName
自行获取字段名,很快我就会得到答案。
for ((name:String, o:Object) <- args) {
templateHtmlBinding += (name -> o)
templateTextBinding += (name -> o)
}
for (o <- args) {
var names = LocalVariablesNamesTracer.getAllLocalVariableNames(o).toList
for (name <- names) {
templateHtmlBinding += (name -> o)
templateTextBinding += (name -> o)
}
}
mail.send("app/views/Mails/invite", "account"->account, "user"->user )
${account.name}