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;
}
}
有人能幫助我嗎? 謝謝!