CommandButton Action not working in omegaLayout

Forum rules
Please note that response time for technical support is within 3-5 business days.
Post Reply
zannezette
Posts: 1
Joined: 17 Mar 2016, 15:50

31 Jan 2017, 14:40

Hello I am trying to implement some primefaces commandbuttons in a diagog.
In my xhtml page I have a toolbar with a commandButton, and a datatable.
I also have a dialog that appears once you click on the button of the toolbar.
My problem is that in this dialog the commandButton does not respond to actions.
As soon as I click it is only the OnComplete that runs
Ps: I'm a beginner in primeface
Here is my xhml file

Code: Select all

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                template="/WEB-INF/template/template.xhtml">
 	<ui:define name="title">Continents</ui:define>
    <ui:define name="content">
		<f:loadBundle basename="fst.info.memoire.bundle.messages" var="msg"/>
		<div class="ui-g">
            <div class="ui-g-12">
                <div class="card">
                    <h1>Gestion des continents</h1>       
                     <h:form prependId="false" >
                     	 <p:growl id="messages" showDetail="true" />
                     	 <h:panelGrid columns="1" style="margin-bottom:10px" cellpadding="5">
					     <p:toolbar>
					        <f:facet name="left">
					            <p:commandButton  value="Nouveau"  icon="fa fa-plus"   onclick="PF('continentAdd').show();" update=":add:displaye1" />
					         </f:facet>
  						 </p:toolbar>
	                     <p:dataTable id="listTab" var="continent" value="#{continentBean.listerContinent()}" selectionMode="single" 
	                     rowKey="#{continent.code}" reflow="true" selection="#{continentBean.selectedContinent}" emptyMessage="Aucun enregistrement">
	                         <f:facet name="header">Liste des continents</f:facet>
	                         <p:column headerText="Code">
	                             <h:outputText value="#{continent.code}" />
	                         </p:column>
	                         <p:column headerText="Nom" > 	
	                         	<h:outputText value="#{continent.nom}" />                   
	                         </p:column>
	                         <p:column headerText="Actions" >
	                         	 <div align="center">
	                         	 	<p:commandButton id="modifier" icon="fa fa-pencil" title="Modifier" />
	                             	<p:commandButton id="supprimer" icon="fa fa-trash" title="Supprimer" actionListener="#{continentBean.supprimerContinent}" update="@form">
	                             		<p:confirm header="Confirmation" message="Etes vous sur de vouloir supprimer cet enregistrement?" icon="fa fa-exclamation-triangle" />
	                             	</p:commandButton>
	                         	 </div>
	                         </p:column>
	                     </p:dataTable>   
	                     </h:panelGrid>
	                     <p:confirmDialog global="true" showEffect="fade" >
					        <p:commandButton value="Oui" type="button" styleClass="ui-confirmdialog-yes" icon="fa fa-check" />
					        <p:commandButton value="Non" type="button" styleClass="ui-confirmdialog-no" icon="fa fa-close" />
					    </p:confirmDialog>
                	</h:form>	
					<p:dialog header="Ajouter un continent" widgetVar="continentAdd"
						resizable="false" modal="true" id="addCont">
				    	<h:form id="add">
							<p:growl id="growl" showDetail="true" />
							<h:panelGrid  id="displaye1" columns="3" cellpadding="4"
								style="margin:0 auto;">
								<p:outputLabel for="code" value="Code" />
								<p:inputText value="#{continentBean.code}" id="code" required="true" requiredMessage="#{msg['continent.code']}">
									<p:ajax event="blur" render="messagecode"/>
						 		</p:inputText>
			 					<p:message for="code" style="color:red" id="messagecode"/>
								<p:outputLabel for="nom" value="Nom" />
								<p:inputText value="#{continentBean.nom}" id="nom" required="true" requiredMessage="#{msg['continent.nom']}">
									<p:ajax event="blur" render="messageNom"/>
						 		</p:inputText>
			 					<p:message for="nom" style="color:red" id="messageNom"/>
							</h:panelGrid>
							<p:separator />
							<div align="center">
								<p:commandButton value="Ajouter" update="@form" icon="fa fa-check" 
						           action="#{continentBean.ajouterContinent}"
						           oncomplete="PF('continentAdd').hide();" process="@this" />
								<p:commandButton value="Annuler" icon="fa fa-close"
								oncomplete="PF('continentAdd').hide();" update="@form" />
							</div>
							
						</h:form>
					</p:dialog>	
                </div>
            </div>
       	</div>
    </ui:define>

</ui:composition>
my backingBean

Code: Select all

package fst.info.memoire.presentation.admin;

import java.io.Serializable;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import fst.info.memoire.model.Continent;
import fst.info.memoire.service.admin.interf.ContinentService;

@ManagedBean(name="continentBean")
@SessionScoped
public class ContinentBean implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@ManagedProperty(value="#{continentService}")
	ContinentService continentService;
	String code ;
	String nom ;
	Continent selectedContinent ;
	List<Continent> listContinent ;
	public ContinentBean() {
		super();
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getNom() {
		return nom;
	}
	public void setNom(String nom) {
		this.nom = nom;
	}
	public ContinentService getContinentService() {
		return continentService;
	}
	public void setContinentService(ContinentService continentService) {
		this.continentService = continentService;
	}
	public Continent getSelectedContinent() {
		return selectedContinent;
	}
	public void setSelectedContinent(Continent selectedContinent) {
		this.selectedContinent = selectedContinent;
	}
	public List<Continent> getListContinent() {
		return listContinent;
	}
	public void setListContinent(List<Continent> listContinent) {
		this.listContinent = listContinent;
	}

    public List<Continent> listerContinent() {
		return continentService.listContinent();
    }
    public String ajouterContinent(){
    	System.out.println("---------Click!");
    	FacesContext context = FacesContext.getCurrentInstance();
    	try{
    		Continent continent = new Continent();
    		continent.setCode(this.code);
    		continent.setNom(this.nom);
    		continentService.ajouterContinent(continent);
    		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Succes", "Continent ajouté avec succès");
			context.addMessage(null, message);
    	}catch(Exception e){
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erreur", "Erreur lors de l'ajout");
			context.addMessage(null, message);
		}
    	return null ;
    	
    }
    public void supprimerContinent(){
    	addMessage("System Error", "Please try again later.");
    }
     
    public void addMessage(String summary, String detail) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
    

}
Thank you

mert.sincan
Posts: 5281
Joined: 29 Jun 2013, 12:38

01 Feb 2017, 10:16

I think this isn't a Layout or Theme issue. Next time, please use PrimeFaces core forum; http://forum.primefaces.org/viewforum.php?f=3

Can you please try actionListener instead of action?

Post Reply

Return to “Omega - PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 12 guests