目标无法访问,标识符' nesne'解析为null

时间:2015-02-15 22:19:25

标签: jsf managed-bean

我正在尝试使用EJB的JSF示例。当我尝试添加到购物车按钮时,我收到以下错误:“目标无法访问,标识符'nesne'已解析为null”。

我的豆类:

@ManagedBean(name="nesne")
@SessionScoped
public class JSFYonetimliNesne implements Serializable {

    private static final long serialVersionUID = 1L;

    @EJB

    AlisverisSepetiEJB alisverisSepeti;

     Urun urun = new Urun();
     List<Urun> urunler;


    public List<Urun> getUrunler() {
        return alisverisSepeti.getUrunler();
    }
    public void setUrunler(List<Urun> urunler) {
        this.urunler = urunler;
    }
    public Urun getUrun() {
        return urun;
    }
    public void setUrun(Urun urun) {
        this.urun = urun;
    }

    public void sepeteKoy(){
        alisverisSepeti.urunEkle(urun);
        urun = new Urun();
    }
}

我的Urun POJO类有两个变量:

  public class Urun {

        private String urunAdi;
        private Long fiyat;
        private Long gramaj;

    public String getUrunAdi() {
        return urunAdi;
    }
    public void setUrunAdi(String urunAdi) {
        this.urunAdi = urunAdi;
    }
    public Long getFiyat() {
        return fiyat;
    }
    public void setFiyat(Long fiyat) {
        this.fiyat = fiyat;
    }
    public Long getGramaj() {
        return gramaj;
    }
    public void setGramaj(Long gramaj) {
        this.gramaj = gramaj;
    }

    }

对于'添加到购物车'的方法,我使用了这个外观:

@Stateful
public class AlisverisSepetiEJB {
private List<Urun> urunler = new ArrayList<Urun>();

public List<Urun> getUrunler() {
    return urunler;
}

public void setUrunler(List<Urun> urunler) {
    this.urunler = urunler;
}

public void urunEkle(Urun urun){
    urunler.add(urun);
}
}

我的xhtml文件:

  <ui:define name="body">
    <h:head>Alışveriş Sepeti</h:head>
    Alışveriş Sepeti
    <h:form>
    <h:panelGrid columns="2">
        <h:outputLabel value="Ürün Adı : " />
        <h:inputText value="#{nesne.urun.urunAdi}" />
        <h:outputText value="Ürün Fiyatı : " />
        <h:inputText value="#{nesne.urun.fiyat}" />
        <h:outputText value="Ürün Gramajı : " />
        <h:inputText value="#{nesne.urun.gramaj}" />
    </h:panelGrid>
    <h:commandButton value="Sepete Ekle" action="#{nesne.sepeteKoy}" /><br></br>
    <h:outputLabel value="Sepetteki Ürünler" /><br></br>
    <h:dataTable value="#{jSFYonetimliNesne.urunler}" var="item" border="2">
        <h:column>
            <f:facet name="header">
                <h:outputLabel value="Ürün Adı" />
            </f:facet>
            <h:outputText value="#{item.urunAdi}" />
        </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputLabel value="Ürün Fiyatı" />
            </f:facet>
            <h:outputText value="#{item.fiyat}" />
        </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputLabel value="Ürün Gramajı" />
            </f:facet>
            <h:outputText value="#{item.gramaj}" />
        </h:column>
    </h:dataTable>
    </h:form>

     </ui:define>

单击“sepete ekle”按钮会产生上述错误。

0 个答案:

没有答案