IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

[RichFaces]ContextMenu : méthode avec paramètre


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Rizzen
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 115
    Par défaut [RichFaces]ContextMenu : méthode avec paramètre
    Bonjour

    Je cherche à mettre en place une fonction de suppression d'une zone grace au clic droit (contextMenu) mais il me faut pouvoir déteminer cette zone grace à un nom que je lui attribus : Zone1a, Zone2b.... Mes zones sont générées via un bean dans un dataGrid.

    J'arrive bien à appeller une fonction avec le paramètre action mais je ne sais pas comment récupérér le nom.

    Ma page jsf : j'aimerai pouvoir identifier ma zone comme je le fais avec la zone de drop.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
     
    <rich:dataGrid value="#{craBean.zoneCras}" var="zone" columns="10"
    	cellpadding="0" cellspacing="0" columnClasses="tdZone" id="ZoneDrop"
    	border="0">
     
    	<rich:panel rendered="#{zone.rendererDate}" style="#{zone.style}">
    		<h:outputText value="#{zone.jourActiviteToString}"
    			style="position:relative;top:-10px;"></h:outputText>
    	</rich:panel>
    	<rich:panel style="#{zone.style}#{zone.styleBG}"
    		rendered="#{zone.rendererDrop}">
    		<h:dataTable value="#{zone.activiteChoisie}" var="item"
    			style="position:relative;top:-12px;left:-3px;">
    			<h:column>
    				<h:outputText value="#{item.libelleActivite}"></h:outputText>
    			</h:column>
    		</h:dataTable>
    		<rich:dropSupport acceptedTypes="activite"
    			dropListener="#{craBean.processDrop}" reRender="ZoneDrop"
    			dropValue="#{zone.dropValue}">
    		</rich:dropSupport>
    		<rich:contextMenu event="oncontextmenu" attached="true" rendered="#{zone.rendererMenu}"
    			submitMode="ajax">
    			<rich:menuItem submitMode="ajax" value="Supprimer"   action="#{craBean.processAction}" ></rich:menuItem>
    		</rich:contextMenu>
    	</rich:panel>
    </rich:dataGrid>
    Le bean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    package bean;
     
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.GregorianCalendar;
     
    import javax.faces.event.ActionEvent;
     
    import org.richfaces.component.Dropzone;
    import org.richfaces.event.DropEvent;
    import org.richfaces.event.DropListener;
     
    import dto.Activite;
    import dto.ZoneCra;
    import service.ServiceActivite;
     
    public class CraBean implements DropListener {
    	private ArrayList<ZoneCra> zoneCras = null;
    	private String paramMenu = null;
    	private int nbJour = 31;
     
    	public CraBean() {
    		if (zoneCras == null) {
    			this.initDonnees();
    		}
    	}
     
    	public void processDrop(DropEvent event) {
    		Dropzone dropZone = (Dropzone) event.getComponent();
    		Activite activite = (Activite) event.getDragValue();
     
    		ServiceActivite monService = new ServiceActivite(zoneCras);
    		monService.addActivite(activite, dropZone.getDropValue());
    		zoneCras = monService.getMesZoneDActivite();
    	}
     
    	public void processAction(ActionEvent event)  
    	{
    ????
    	}
     
     
     
    	/**
             * Permet d'initialiser les données du planning
             */
    	private void initDonnees() {
    		zoneCras = new ArrayList<ZoneCra>();
    		int i = 0;
     
    		while (i < this.nbJour) {
    			String tab[] = { "", "a", "b", "c", "d" };
    			for (int j = 0; j <= 4; j++) {
    				GregorianCalendar calendar = new java.util.GregorianCalendar(2008, 0, 1 + i);
    				ZoneCra maZone = new ZoneCra();
     
    				if (i < 10) {
    					maZone.setDropValue("zone0" + i + tab[j]);
    					maZone.setAfficheAct("afficheAct0" + i + tab[j]);
    				} else {
    					maZone.setDropValue("zone" + i + tab[j]);
    					maZone.setAfficheAct("afficheAct" + i + tab[j]);
    				}
    				if (j != 0) {
    					maZone.setJourActivite(calendar.getTime());
    					switch (j) {
    					case 1:
    						maZone.setStyle("border-right:0px;width:60px;height:15px;");
    						break;
    					case 2:
    						maZone.setStyle("border-left:0px;width:60px;height:15px;");
    						break;
    					case 3:
    						maZone.setStyle("border-right:0px;width:60px;height:15px;");
    						break;
    					case 4:
    						maZone.setStyle("border-left:0px;width:60px;height:15px;");
    						break;
    					}
     
    					maZone.setJourActivite(calendar.getTime());
    					maZone.setRendererDate(false);
    					maZone.setRendererDrop(true);
    					maZone.setRendererMenu(false);
    				} else {
    					maZone.setStyle("border:0px;width:120px;height:15px;");
    					SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd MMMM");
    					maZone.setJourActiviteToString(sdf.format(calendar.getTime()));
    					maZone.setRendererDate(true);
    					maZone.setRendererDrop(false);
    					maZone.setRendererMenu(false);
    				}
    				this.zoneCras.add(maZone);
     
    			}
    			i++;
    		}
    	}
     
    	// Getter and Setter
    	public ArrayList<ZoneCra> getZoneCras() {
    		if (this.zoneCras == null) {
    			this.initDonnees();
    		}
    		return this.zoneCras;
    	}
     
    	public void setZoneCras(ArrayList<ZoneCra> zoneCras) {
    		this.zoneCras = zoneCras;
    	}
    }
    Merci d'avance

  2. #2
    Membre confirmé Avatar de Rizzen
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 115
    Par défaut
    J'ai trouvé une solution je sais pas si c'est trés académique. J'utilise la fonction qui permet de récupérer l'enfant et je récupére les données de celui ci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <rich:menuItem submitMode="ajax" value="Supprimer"   actionListener="#{craBean.processAction}" 
    				reRender="ZoneDrop" >
    				<a4j:actionparam assignTo="#{craBean.paramMenu}" value="#{zone.dropValue}"/>
    </rich:menuItem>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void processAction(ActionEvent event)  
    	{
    		HtmlActionParameter actionParam = (HtmlActionParameter)event.getComponent().getChildren().get(0);
    		ServiceActivite monService = new ServiceActivite(zoneCras);		
    		monService.supActivite(actionParam.getValue().toString());
     
    	}

Discussions similaires

  1. javascript vers java (méthodes avec paramètres)
    Par knice dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/08/2008, 21h42
  2. Réponses: 3
    Dernier message: 22/07/2008, 17h26
  3. Réponses: 0
    Dernier message: 22/07/2008, 11h28
  4. appeler une méthode avec paramètre dans une page JSP
    Par javasmif dans le forum Struts 2
    Réponses: 1
    Dernier message: 06/12/2007, 10h48
  5. méthode avec paramètre
    Par MaitrePylos dans le forum Ruby on Rails
    Réponses: 9
    Dernier message: 21/06/2007, 09h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo