类“de.workshop.sales_tool.Model.Antwort”没有可读属性“text”。JSF
Hi i alwys get en error类“***.Model.Antwort”没有可读属性“text” 代码如下: xhtml文件:类“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
<?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'.