Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类“de.workshop.sales_tool.Model.Antwort”没有可读属性“text”。JSF_Jsf - Fatal编程技术网

类“de.workshop.sales_tool.Model.Antwort”没有可读属性“text”。JSF

类“de.workshop.sales_tool.Model.Antwort”没有可读属性“text”。JSF,jsf,Jsf,Hi i alwys get en error类“***.Model.Antwort”没有可读属性“text” 代码如下: xhtml文件: <?xml version="1.0" encoding= "Utf-8"?> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" t

Hi i alwys get en error类“***.Model.Antwort”没有可读属性“text”

代码如下:

xhtml文件:

<?xml version="1.0" encoding= "Utf-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="templates/default.xhtml"
                xmlns:h="http://xmlns.jcp.org/jsf/html">
    <ui:define name="content">
        <h1>Wizard</h1>
        <h:form>
                <ui:repeat value="#{wizardControler.fragen}" var="frage">
                    <h:outputText value="#{frage.text}"/>
                    <br/>
                    <ui:repeat value="#{frage.antworten}" var="antwort">
                        <h:outputText value="#{antwort.text}"/>
                        <br/>
                        <ui:repeat value="#{answer.teile}" var="teil">
                            <h:outputText value="#{teil.name}"/>
                            <br/>
                        </ui:repeat>
                    </ui:repeat>
                </ui:repeat>
        </h:form>
    </ui:define>
</ui:composition>
下面是WizardController的范围变量值:

WizardControlerfragen=[FragetText=Frage 1,nr=1,antworten=[Antworttext=Antwort1,nr=1,teile=[TeilTID=1,name=Teil 1],Antworttext=Atwort2,nr=2,teile=[TeilTID=1,name=Teil 1],FragetText=Frage 2,nr=2,Antwortten=[Antworttext=Antworttext=Antwort1,nr=5,teile=[teile=3,name=Teil=3],Antworttext=Atwort2,nr=2,teile=2],Antworttext=antwort3,nr=7,teile=[TeilTID=3,name=Teil 3]],Fragetext=Frage 3,nr=3,antwortten=[Antworttext=atwort2,nr=3,teile=[TeilTID=2,name=Teil 2],Antworttext=antwort1,nr=4,teile=[TeilTID=1,name=Teil 1]]

编辑1:


刚刚尝试并为文本文件添加了真正的getter,并在那里做了一个brakpoint,错误显示在浏览器中后,它会被触发。^ ^

MAAN我讨厌这样的问题--5个小时,在回答课前它只是有点隐私--

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import lombok.Data;

@Data
@ManagedBean
@ViewScoped
public class WizardControler {

    private List<Frage> fragen;

    public void setFragen(List<Frage> fragen) {
        this.fragen = fragen;
    }



    public List<Frage> getFragen() {
        fragen = new ArrayList<>();
        try {
            Connection con = DatabaseConector.getConnection();

            Statement stm = con.createStatement();

            String statement = "SELECT * FROM Fragen";

            ResultSet res = stm.executeQuery(statement);

            while(res.next()){
                String text = res.getString(2);
                int nr = res.getInt(1);
                Frage frage = new Frage(text,nr);
                fragen.add(frage);
            }


        } catch (SQLException ex) {
            Logger.getLogger(WizardControler.class.getName()).log(Level.SEVERE, null, ex);
        }
        return fragen;
    }

}
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.ViewScoped;
import lombok.Data;

@Data
@ManagedBean
@RequestScoped
public class Frage {

    private String text;
    private int nr;
    List<Antwort> antworten = new LinkedList<>();

    public Frage(String text,int nr) {
        this.text = text;
        this.nr = nr;
        try {
            Connection con = DatabaseConector.getConnection();

            Statement stm = con.createStatement();

            String statement = "SELECT * FROM Antworten WHERE FragenID = "+nr;

            ResultSet res = stm.executeQuery(statement);

            while(res.next()){
                Antwort antwort = new Antwort(res.getString(2),res.getInt(1));
                antworten.add(antwort);
            }


        } catch (SQLException ex) {
            Logger.getLogger(WizardControler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }



}
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.ViewScoped;
import lombok.Data;

@Data
@ManagedBean
@RequestScoped
class Antwort {


    private String text;
    private int nr;
    List<Teil> teile = new LinkedList<>();

    public Antwort(String text, int nr) {
        this.text = text;
        this.nr = nr;
        try {
            Connection con = DatabaseConector.getConnection();

            Statement stm = con.createStatement();

            String statement = "SELECT * FROM Teile WHERE TID = (SELECT TID FROM setztvoraus WHERE AntwortID = "+nr+")";

            ResultSet res = stm.executeQuery(statement);

            while(res.next()){
                Teil teil = new Teil(res.getInt(1),res.getString(2));
                teile.add(teil);
            }


        } catch (SQLException ex) {
            Logger.getLogger(WizardControler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}
/wizard.xhtml @13,64 value="#{antwort.text}": The class 'de.workshop.sales_tool.Model.Antwort' does not have a readable property 'text'.