Witam,
Chcę dopisać do mojego sklepu koszyk, jego zawartość przetrzymywana jest w zmiennej sesyjnej, nie wiadomo czemu aplikacja rzutuje mapę w której trzymam koszyk na moją klasę Koszyk
co skutkuje błędami typu Method not found: {idProduktu=1, ilosc=2}.DodajKoszyk()
Kod Koszyk.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package moduly;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import data.Produkty;
import data.Uzytkownicy;
import data.Zamowienia;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
/**
*
* @author Browar
*/
@ManagedBean
@SessionScoped
public class Koszyk {
SessionFactory factory = new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
Transaction tx = null;
HttpSession sesja;
@PostConstruct
public void initialiseSession() {
sesja = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
}
private Integer idProduktu;
private Integer ilosc;
public Integer getIdProduktu(){
return idProduktu;
}
public void setIdProduktu(Integer idProduktu){
this.idProduktu = idProduktu;
}
public Integer getIlosc(){
return ilosc;
}
public void setIlosc(Integer ilosc){
this.ilosc = ilosc;
}
public Koszyk() {
}
public void DodajKoszyk(){
Map<Integer,Integer> kosz = (Map<Integer,Integer>) sesja.getAttribute("koszyk");
kosz.put(1,2);
sesja.setAttribute("koszyk",kosz);
}
public Map<Integer,Integer> ZwrocKoszyk(){
Map<Integer, Integer> koszyk = new LinkedHashMap<>();
koszyk.put(12,12);
// koszyk.put(11,12);
// if(1==2)
// return (Map<Integer,Integer>) sesja.getAttribute("koszyk");
// else
return koszyk;
}
}
Fragment z Logowanie.java tworzącego zmienną sesyjną z koszykiem
Map<Integer, Integer> koszyk = new LinkedHashMap<>();
sesja.setAttribute("koszyk",koszyk);
Fragment pliku xhtml dodającego produkt do koszyka
<h:form id="loguj" >
<h4 style="color: white;font-size: 12pt">Login:</h4>
<h:inputText value="#{koszyk.idProduktu}" /><br />
<h4 style="color: white;font-size: 12pt">Hasło:</h4>
<h:inputText value="#{koszyk.ilosc}" /><br />
<br />
<h:commandButton value="Loguj" actionListener="#{koszyk.DodajKoszyk()}" />
</h:form>