我正在使用带有带有筛选器搜索的Primefaces dataTable的应用程序,但是出现以下异常:

SEVERE:   Error Rendering View[/list.xhtml] javax.el.PropertyNotFoundException: The class 'cc.crm.model.Kunde' does not have the property 'kunde'.


当我在搜索框中输入内容时。

这是我的xhtml:

<h:body id="body">
    <h:form>
        <p:dataTable filteredValue="#{sessionCtrl.filteredKunde}" scrollable="false" id="tabel" var="kunde" value="#{sessionCtrl.kunder}" widgetVar="kundetable" emptyMessage="Der er ikke nogle kunder som passer til søgningen">

            <f:facet name="header">
                <p:outputPanel>
                    <h:outputText value="Søg i kunder:" />
                    <h:inputText id="globalFilter" onkeyup="PF('kundetable').filter()" />
                </p:outputPanel>
            </f:facet>
            <p:column id="admcol" filterBy="kunde.abm" filterMatchMode="contains">
                <f:facet name="header">
                    Adm
                </f:facet>
                #{kunde.abm}
            </p:column>

            <p:column id="forbrugaftraepillercol" filterBy="kunde.traepiller" filterMatchMode="contains">
                <f:facet name="header">
                    Forbrug af træpiller
                </f:facet>
                #{kunde.traepiller}
            </p:column>
            <p:column id="vejcol" filterBy="kunde.vej" filterMatchMode="contains">
                <f:facet name="header">
                    Vej
                </f:facet>
                #{kunde.vej}
            </p:column>
            <p:column id="vejnummercol" filterBy="kunde.vejNr" filterMatchMode="contains">
                <f:facet name="header">
                    Vej nummer
                </f:facet>
                #{kunde.vejNr}
            </p:column>

            <f:facet name="footer">
                Der er i alt #{sessionCtrl.antalKunder} kunder.
            </f:facet>

        </p:dataTable>
    </h:form>


我已经删除了一些。

这是我的课程:

@Named @RequestScoped public class SessionCtrl implements Serializable{

private List<Kunde> filteredKunde;

@Inject
DatabaseCtrl dbCtrl;

public List<Konslulent> getKonsulenter() {
    return dbCtrl.getAlleKunsulenter();
}

public List<Kunde> getKunder() {
    return  dbCtrl.getAlleKunder();
}

public int getAntalKunder(){
    return dbCtrl.getAlleKunder().size();
}

  public List<Kunde> getFilteredKunde() {
      System.out.println("getFilteredKunde() : " + filteredKunde ) ;
    return filteredKunde;
}

public void setFilteredKunde(List<Kunde> filteredKunde) {
    System.out.println("setFilteredKunde(List<Kunde> filteredKunde) : " + filteredKunde);
    this.filteredKunde = filteredKunde;
}


Kunde POJO:

@Entity public class Kunde implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;

private String firmaNavn;

private String vej;
private String vejNr;
private int postNr;
private String byy;
private String att;
private String titel;
private String mail;
private int mobil;
private int telefon;
private int cvrNr;
private int gas;
private int olie;
private int el;
private int traepiller;
private String andetEnergi;
private String kundeType;
private String abm;
private int timer;
private String andetKundeforhold;
private String note;
@OneToOne
private Konslulent konsulent;


public long getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getFirmaNavn() {
    return firmaNavn;
}
public void setFirmaNavn(String firmaNavn) {
    this.firmaNavn = firmaNavn;
}
public String getVej() {
    return vej;
}
public void setVej(String vej) {
    this.vej = vej;
}
public String getVejNr() {
    return vejNr;
}
public void setVejNr(String vejNr) {
    this.vejNr = vejNr;
}
public int getPostNr() {
    return postNr;
}
public void setPostNr(int postNr) {
    this.postNr = postNr;
}
public String getBy() {
    return byy;
}
public void setBy(String by) {
    this.byy = by;
}
public String getAtt() {
    return att;
}
public void setAtt(String att) {
    this.att = att;
}
public String getTitel() {
    return titel;
}
public void setTitel(String titel) {
    this.titel = titel;
}
public String getMail() {
    return mail;
}
public void setMail(String mail) {
    this.mail = mail;
}
public int getMobil() {
    return mobil;
}
public void setMobil(int mobil) {
    this.mobil = mobil;
}
public int getTelefon() {
    return telefon;
}
public void setTelefon(int telefon) {
    this.telefon = telefon;
}
public int getCvrNr() {
    return cvrNr;
}
public void setCvrNr(int cvrNr) {
    this.cvrNr = cvrNr;
}
public int getGas() {
    return gas;
}
public void setGas(int gas) {
    this.gas = gas;
}
public int getOlie() {
    return olie;
}
public void setOlie(int olie) {
    this.olie = olie;
}
public int getEl() {
    return el;
}
public void setEl(int el) {
    this.el = el;
}
public int getTraepiller() {
    return traepiller;
}
public void setTraepiller(int traepiller) {
    this.traepiller = traepiller;
}
public String getAndetEnergi() {
    return andetEnergi;
}
public void setAndetEnergi(String andetEnergi) {
    this.andetEnergi = andetEnergi;
}
public String getKundeType() {
    return kundeType;
}
public void setKundeType(String kundeType) {
    this.kundeType = kundeType;
}
public String getAbm() {
    return abm;
}
public void setAbm(String abm) {
    this.abm = abm;
}
public int getTimer() {
    return timer;
}
public void setTimer(int timer) {
    this.timer = timer;
}
public String getAndetKundeforhold() {
    return andetKundeforhold;
}
public void setAndetKundeforhold(String andetKundeforhold) {
    this.andetKundeforhold = andetKundeforhold;
}
public String getNote() {
    return note;
}
public void setNote(String note) {
    this.note = note;
}
public Konslulent getKonsulent() {
    return konsulent;
}
public void setKonsulent(Konslulent konsulent) {
    this.konsulent = konsulent;
}

最佳答案

您的filterBy应该是filterBy = #{kunde.abm}

关于java - 具有Primefaces和dataTable的javax.el.PropertyNotFoundException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19296752/

10-12 04:59