我在jsf中的h:selectOneMenu不在我的Bean中返回值

时间:2018-07-18 11:18:54

标签: jsf javabeans

请给我帮助。我在页面中创建了h:selectOneMenu,但它在我的bean中没有返回值。这是我的JSF代码

<ui:repeat value="#{localCahiersJpaController.findLocalCahiersEntities()}" var="elementCahier" >
     <h:form> <div class="col-md-4 product-men">
         <div class="men-pro-item simpleCart_shelfItem">
            <div class="men-thumb-item">
                <h:graphicImage library="img" name="m1.jpg" />
                <span class="product-new-top">#{elementCahier.prix}f</span>
            </div>
            <div class="item-info-product ">
                <h4><a href="single.html">#{elementCahier.nom}</a></h4>
                <div class="info-product-price">
                    <span class="item_price">#{elementCahier.prix}fcfa/ </span>                                                                         
                    <span class="item_price">#{elementCahier.page}</span>
                </div>
                <div class="info-product-price">
                    #{controleAchat.maQuantites}
                    Quantités : <h:selectOneMenu value="#{controleAchat.maQuantites}">
                    <f:selectItem itemLabel="0" itemValue="0" />
                    <f:selectItem itemLabel="1" itemValue="1" />
                    <f:selectItem itemLabel="2" itemValue="2" />
                    <f:selectItem itemLabel="3" itemValue="3" />
                    <f:selectItem itemLabel="4" itemValue="4" />
                    <f:selectItem itemLabel="6" itemValue="6" />
                    <f:selectItem itemLabel="7" itemValue="7" />
                    <f:selectItem itemLabel="8" itemValue="8" />
                    <f:selectItem itemLabel="9" itemValue="9" />
                    <f:selectItem itemLabel="10" itemValue="10" />
                    </h:selectOneMenu>
                 </div> 
                <div class="snipcart-details top_brand_home_details item_add single-item hvr-outline-out">
                  <h:commandButton action="#{controleAchat.ajouCahierPanier(elementCahier)}"   value="Ajoutez au panier" styleClass="btn btn-primary" />                                  
                </div>
            </div>
          </div>
    </div></h:form> 
 </ui:repeat>

这是我的Java bean代码

 @ManagedBean
@SessionScoped
public class ControleAchat {   
    private int compteurPanier; 
    private String maQuantites;
    public GestionLien lien  = new GestionLien(); 

   Cahiers cahier = new Cahiers();
   Divers divers = new Divers();
   Livres livres = new Livres();
   Sacs sac = new Sacs();


    private List<Cahiers>  itemCahier = new ArrayList<>() ;
    private List<Divers>  itemDivers = new ArrayList<>() ;
    private List<Livres>  itemLivre = new ArrayList<>() ;
    private List<Sacs>  itemSacs = new ArrayList<>() ;


    public ControleAchat(){}

    public ControleAchat(int compteurPanier, String maQuantites) {
        this.compteurPanier = compteurPanier;
        this.maQuantites = maQuantites;
    }

    //Ajout
    public String ajouCahierPanier(LocalCahiers local){


            int i = Integer.valueOf(this.maQuantites).intValue();

        if(i != 0){
             int prixTotal = local.getPrix() * 1;

            cahier = new Cahiers(local.getNom(),local.getPage(), 1,
                         local.getPrix(),prixTotal);

            this.compteurPanier += 1;
            itemCahier.add(cahier);
            this.maQuantites = null;
    }
            return lien.lienCahier();
       }

   /* 
    public String ajouDiversPanier(LocalDivers local){
           Integer monnombre=new Integer(this.quantites);
            int i = monnombre.intValue();
            if(i != 0){

            int prixTotal= local.getPrix() * local.getQuantites();
           divers = new Divers(local.getNom(),i,local.getPrix(),prixTotal);
            itemDivers.add(divers);
            this.compteurPanier += 1;
            this.quantites = null;}
            return lien.lienDivers();
         }

    public String ajouLivresPanier(LocalLivre local){
           Integer monnombre=new Integer(this.quantites);
            int i = monnombre.intValue();
            if(i != 0){

            int prixTotal= local.getPrix() * local.getQuantites();

            livres = new Livres(local.getNom(),local.getIdInfoLivres().getClasse()
                    ,local.getQuantites(), local.getPrix(),local.getPrixTotal());

            itemLivre.add(livres);
            this.compteurPanier += 1;
            this.quantites = null;}
            return lien.lienLivres();
         }

    public String ajouSacsPanier(LocalSac local){
        Integer monnombre=new Integer(this.quantites);
            int i = monnombre.intValue();
            if(i != 0){
            int prixTotal= local.getPrix() * local.getQuantites();
            sac = new Sacs(local.getNom(),i,local.getPrix(),prixTotal);
            itemSacs.add(sac);
            this.compteurPanier += 1;
            this.quantites = null;}
            return lien.lienSacs();
         }

    */

    //Suppression 
    public String sppressionCahier(Cahiers local){
         itemCahier.remove(local) ;
        this.compteurPanier -= 1;
         return lien.lienPanier();
    }

    public String sppressionDivers(Divers local){
         itemDivers.remove(local) ;
        this.compteurPanier -= 1;
         return lien.lienPanier();
    }



    public String sppressionLivres(Livres local){
         itemLivre.remove(local) ;
         this.compteurPanier -= 1;
        return lien.lienPanier();
    }

    public String sppressionSacs(Sacs local){
         itemSacs.remove(local) ;
         this.compteurPanier -= 1;
        return lien.lienPanier();
    }


    public int getCompteurPanier() {
        return compteurPanier;
    }

    public void setCompteurPanier(int compteurPanier) {
        this.compteurPanier = compteurPanier;
    }

    public String getMaQuantites() {
        return maQuantites;
    }

    public void setMaQuantites(String maQuantites) {
        this.maQuantites = maQuantites;
    }



    public Cahiers getCahier() {
        return cahier;
    }

    public void setCahier(Cahiers cahier) {
        this.cahier = cahier;
    }

    public Divers getDivers() {
        return divers;
    }

    public void setDivers(Divers divers) {
        this.divers = divers;
    }

    public Livres getLivres() {
        return livres;
    }

    public void setLivres(Livres livres) {
        this.livres = livres;
    }

    public Sacs getSac() {
        return sac;
    }

    public void setSac(Sacs sac) {
        this.sac = sac;
    }

    public List<Cahiers> getItemCahier() {
        return itemCahier;
    }

    public void setItemCahier(List<Cahiers> itemCahier) {
        this.itemCahier = itemCahier;
    }

    public List<Divers> getItemDivers() {
        return itemDivers;
    }

    public void setItemDivers(List<Divers> itemDivers) {
        this.itemDivers = itemDivers;
    }

    public List<Livres> getItemLivre() {
        return itemLivre;
    }

    public void setItemLivre(List<Livres> itemLivre) {
        this.itemLivre = itemLivre;
    }

    public List<Sacs> getItemSacs() {
        return itemSacs;
    }

    public void setItemSacs(List<Sacs> itemSacs) {
        this.itemSacs = itemSacs;
    }




}

我想将一种产品添加到购物篮中,所以我使用了SessionBean来进行此操作,注册时,客户必须输入产品的数量 。我输入了inputText,但是在恢复期间,恢复总是零,因为客户端输入的数量没有恢复,所以我尝试了oneSelectMenu,但这是相同的错误。

0 个答案:

没有答案