0

私は次の成功を収めることができます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クラスにはtestodomanda属性があります。Domandaクラスにはtesto属性があります。

4

2 に答える 2

0

getDomanda 関数は何をしているのですか? Domanda オブジェクトを挿入すると、Domanda オブジェクトが返されるように見えますか?

これを試して:

<h:outputText value="#{risp.domanda.testo}" />

そして、エクスポート機能が機能します

于 2012-09-06T14:46:13.633 に答える