现在我们来学习有关wicket中定义的listview,具体的实现结果如下所示。
我们来看一下homepage.java
public class HomePage extends WebPage {
public HomePage() {
List<Person> persons = Arrays.asList(new Person("John", "Smith"), new Person("Dan", "Wang"));
add(new ListView<Person>("persons", persons) {
@Override
protected void populateItem(ListItem<Person> item) {
item.add(new Label("fullName", new PropertyModel(item.getModel(), "fullName")));
}
});
}
}
对应的html页面
<html xmlns:wicket="http://wicket.apache.org">
<head>
<meta charset="utf-8" />
</head>
<body>
<div id="bd" style="display: table;">
<div wicket:id="persons" style="display: table-row;">
<div
style="display: table-cell;padding-right: 4px">
<b>Full name:</b>
</div>
<div wicket:id="fullName"
style="display: table-cell;">
</div>
</div>
</div>
</body>
</html>
定义的person类
public class Person {
private String name;
private String surname;
private String address;
private String email;
private String passportCode;
private Person spouse;
private List<Person> children;
public Person(String name, String surname) {
this.name = name;
this.surname = surname;
}
public String getFullName(){
return name + " " + surname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassportCode() {
return passportCode;
}
public void setPassportCode(String passportCode) {
this.passportCode = passportCode;
}
public Person getSpouse() {
return spouse;
}
public void setSpouse(Person spouse) {
this.spouse = spouse;
}
public List<Person> getChildren() {
return children;
}
public void setChildren(List<Person> children) {
this.children = children;
}
}