我有两个简单的POJO:
class Person {
String name
Address address;
//and of course the getter/setter for the attributes
}
class Address {
String city;
//also getter/setter for this attribute
}
和一个支持豆:
@ManagedBean
@RequestScoped
class PersonController {
private List persons;
private List<String> columns = Arrays.toList("name", "address.city");
//of course getter/setter
}
现在我想创建一个数据表。
<p:dataTable var="person" value="#{personController.persons}" columnIndexVar="index">
<p:columns var="column" value="#{personController.columns}">
<h:outputText value="#{person[column]}"/>
<p:columms>
</p:dataTable>
当我执行这个任务时,我得到一个服务例外:
个人没有产权地址.城市。
但如果试图在p: columens 内进入这样的地产城市:
<h:outputText value="#{person.address.city}"/>
一切都没事。
为什么我不能访问这样的嵌套属性? {{{{{{{{{{{{{{{}}}}}{}}{}}{}}{}}{}}{}}{}}{}}{}}{}}{}}}{}}{}}{}}}{}}{}}{}{}}}{}}}{}}{}}{}{}{}{}{}{}{}{}{}{}{}{}{{}{}{}{}{}{}{}{}{}{}{}{}}}{}}{{}}}}我怎能在 {{{{{{{{{{{{{{{{{{{{{{}}{{{{{}}}}内访问它?{{{}}}}}{{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}