我有一个超类Person:
public class Person {
public abstract Type getType();
}
Run Code Online (Sandbox Code Playgroud)
我有2个子类:
public class JuridicalPerson extends Person {
public Type getType() {
return Type.JP;
}
public List<JuridicalBelong> getJuridicalBelongs() {
return juridicalBelongs;
}
}
Run Code Online (Sandbox Code Playgroud)
public class NaturalPerson extends Person {
public Type getType() {
return Type.NP;
}
public List<NaturalBelong> getNaturalBelongs() {
return naturalBelongs;
}
}
Run Code Online (Sandbox Code Playgroud)
JuridicalBelong并NaturalBelong具有不同的属性,不能被子类化.
我将它们放在List<Person>JSF/Facelets中,如下所示:
<ui:repeat value="#{bean.persons}" var="person">
<h:panelGroup rendered="#{person.type eq 'JP'}">
<ui:repeat value="#{person.juridicalBelongs}" var="juridicalBelong">
...
</ui:repeat>
</h:panelGroup>
<h:panelGroup rendered="#{person.type eq 'NP'}">
<ui:repeat …Run Code Online (Sandbox Code Playgroud)