我想在 jsf 打印的 bean 中使用继承。例如,我有一个父类(动物),有两个孩子(猫和狗),具有不同的属性(catAttr 和 dogAttr)和鉴别器(类型)。我想打印一个包含所有属性的动物列表。代码示例(它返回我一个未找到的属性异常),jsf 页面:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<ui:repeat value="#{animalsBean.animals}" var="a">
<!-- General attributes -->
<label>Name: </label> #{a.name}<br/>
<!-- Specific attributes -->
<h:panelGroup rendered="#{a.type eq 'cat'}">
<label>Cat attributes:</label>
<h:inputTextarea value="#{a.catAttr}"/><br/>
</h:panelGroup>
<h:panelGroup rendered="#{a.type eq 'dog'}">
<label>Dog attributes:</label>
<h:inputTextarea value="#{a.dogAttr}"/><br/>
</h:panelGroup>
</ui:repeat>
</h:body>
动物豆:
@ManagedBean
@SessionScoped
public class AnimalsBean {
private List<Animal> animals;
public List<Animal> getAnimals() {
return animals;
}
public void setAnimals(List<Animal> animals) {
this.animals = animals;
}
}
有人能帮我吗?谢谢!