我可以成功构建以下内容p:dataTable
:
<p:dataTable id="questionario" var="risp" value="#{domande.elencoRisposte}" >
<f:facet name="header">
Questionario di #{userBean.nome} #{userBean.cognome}
</f:facet>
<p:column>
<f:facet name="header">
<h:outputText value="Domanda" />
</f:facet>
<h:outputText value="#{domande.getDomanda(risp.domanda).testo}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Risposta" />
</f:facet>
<h:outputText value="#{risp.testo}" />
</p:column>
</p:dataTable>
但我得到了例外:
javax.servlet.ServletException: javax.el.PropertyNotFoundException: Property 'getDomanda' not found on type ispra.Questionario
javax.faces.webapp.FacesServlet.service(FacesServlet.java:229)
当我尝试使用p:dataExporter
组件导出时:
<h:commandLink>
<p:graphicImage value="pdf.png" />
<p:dataExporter type="pdf" target="questionario" fileName="questionario" />
</h:commandLink>
domande
是类型的托管 bean ispra.Questionario
。
有任何想法吗?
代码片段:
@ManagedBean(name="domande")
@SessionScoped
public class Questionario {
private ArrayList<Domanda> elencoDomande;
private LinkedHashMap<String,Risposta> risposte;
...
public Domanda getDomanda(String codice) {
return setDomande.get(codice);
}
public ArrayList<Risposta> getElencoRisposte() {
return new ArrayList<Risposta>(this.risposte.values());
}
...
}
Risposta
类有testo
和domanda
属性;Domanda
类有testo
属性。