Ich habe folgende zwei einfache POJOs:Kein Zugriff auf verschachtelte Eigenschaft in Managed Bean innerhalb p: Spalten
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
}
Und ein Backing Bean:
@ManagedBean
@RequestScoped
class PersonController {
private List persons;
private List<String> columns = Arrays.toList("name", "address.city");
//of course getter/setter
}
Jetzt möchte ich eine Datatable erstellen.
<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>
Als ich dies ausführen bekomme ich eine ServletException:
Die Klasse Person hat nicht die Eigenschaft 'address.city'.
Aber wenn ein Versuch, die Eigenschaft Stadt wie dies in p zuzugreifen: Spalten:
<h:outputText value="#{person.address.city}"/>
ist in Ordnung Alles.
Warum kann ich nicht auf eine verschachtelte Eigenschaft wie diese #{person['address.city']}
zugreifen? Und wie kann ich darauf innerhalb p:columns
zugreifen?
Das '' Tag existiert nicht. Übergeneralisieren Sie nicht das PrimeFaces '' Tag? –
BalusC
Ja. Tut mir leid, ich werde es ändern. –