NullPointerException dans une servlet utilisant un bean
Bonjour !
Je developpe une petite boutique en ligne (dans le cadre d'un exercice) en J2EE et ai un petit soucis et j'ai donc besoin de quelques explications.
Le problème se situe dans une gestion de panier de la boutique
Voici le code de la servlet
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//recup l'id du produit selectionner
HttpSession session = request.getSession(true);
String id = request.getParameter("id");
int id_prod = Integer.parseInt(id);
ProduitsBean m_prod = new ProduitsBean();
//recup du panier
ProduitsListBean m_panier = (ProduitsListBean)session.getAttribute("panier");
try{
//recup du produit associé à l'id
InitialContext jndi = new InitialContext();
AccesCatalogueBeanRemote remote = (AccesCatalogueBeanRemote)jndi.lookup("AccesCatalogueJNDI/remote");
m_prod = remote.getProduit(id_prod);
}
catch (Exception e) {
e.printStackTrace();
}
//ajout du produit au panier
System.out.println(m_prod.getName()); //cette instruction fonctionne donc m_prod existe bien !
m_panier.add_prod(m_prod); //la null pointer exception intervient ici
session.setAttribute("panier", m_panier);
response.sendRedirect("panier.jsp");
} |
voici le code du bean ProduitListBean
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public class ProduitsListBean implements Serializable {
private ArrayList<ProduitsBean> list_prod;
public ProduitsListBean(){
}
public ArrayList<ProduitsBean> getList_prod() {
return list_prod;
}
public void setList_prod(ArrayList<ProduitsBean> list_prod) {
this.list_prod = list_prod;
}
public boolean add_prod(ProduitsBean prod){
System.out.println("ajout d'un produit");//cela s'affiche
System.out.println(prod.getId()+"");//Null Pointer Exception ici !
return list_prod.add(prod);
}
} |
Il y a donc un problème lorsque je veux ajouter mon produit au panier avec la servlet.
Je pense que ca vient du passage de l'objet en paramètre mais ne comprends pas pourquoi cela ne fonctionne pas.
Si quelqu'un peut me fournir une explication je l'en remercie :)