在 Play 1.2 中,我通常会做类似 ${myobj?.item?.subitem}
的事情。
我在 Play 2.0 中试过这个,但没有任何运气。有没有可能的替代方案?
最佳答案
编辑:对不起,我认为我没有忠实地翻译这个,而且它更难看。 myobj.item
也可以为 null,因此您必须将其包装在 Option(_)
中:
@Option(myobj).flatMap(i => Option(i.item)).flatMap(s => Option(s.subitem)).getOrElse("empty")
或
@((for {o <- Option(myobj)
item <- Option(o.item)
subitem <- Option(item.subitem)
}).getOrElse("empty"))
请注意确定 playframework 是否对这种常见情况有一些额外的好处。
关于templates - 在模板中使用空对象,如何避免 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10298069/