2
我想在由jsf打印的bean中使用继承。 例如,我有一个父类(动物)与两个孩子(猫和狗)具有不同的属性(catAttr和dogAttr)和一个鉴别器(类型)。我想打印一份具有所有属性的动物列表。 代码示例(它返回我的属性未发现异常),JSF页面:在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>
AnimalsBean:
@ManagedBean
@SessionScoped
public class AnimalsBean {
private List<Animal> animals;
public List<Animal> getAnimals() {
return animals;
}
public void setAnimals(List<Animal> animals) {
this.animals = animals;
}
}
有人能帮助我吗? 谢谢!