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

Struts 1 Java Discussion :

Générer boite de dialogue à l'aide de la méthode validate de actionForm


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Par défaut Générer boite de dialogue à l'aide de la méthode validate de actionForm
    j'utilise la méthode validate pour le controle de mes champs.je me retrouve avec un checkbox surlequel j'aime effectué un controle (s'il n'est pas coché j'affiche une boite de dialogue)
    j'aimerais bien que vous me guidiez ou me proposez un lien pour voir comment le faire .
    merci bien

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Et que veux-tu mettre dans cette boîte de dialogue ?
    En tout cas, tu aurais peut-être intérêt à faire le contrôle en Javascript.
    Cela éviterait un aller/retour serveur.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Et que veux-tu mettre dans cette boîte de dialogue ?
    En tout cas, tu aurais peut-être intérêt à faire le contrôle en Javascript.
    Cela éviterait un aller/retour serveur.
    oui j'ai essayé avec ça
    en fait au niveau de la jsp j'ai mis le javascript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type="text/javascript">
     
    function DoTheCheck() 
    {
     
    if(document.supprimerP.suppprojet.checked == false)
    { 
       alert('veuillez choisir le projet à supprimer');
    }
    }
     
     
     
    	</script>
    dans le bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="submit" onclick="DoTheCheck(); "> select book</button>
    quand je clique sur le bouton (quand je clique pas sur le checkbox ) il me met bien la boit de dialogue .mais quand je clique sur ok au niveau de cette boite une erreur s'affiche:
    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
    javax.servlet.ServletException: java.lang.NullPointerException
    	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	com.yourcompany.struts.action.SupprimerProjetAction.execute(SupprimerProjetAction.java:28)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.13.
     
     
    --------------------------------------------------------------------------------
     
    Apache Tomcat/6.0.13
    parce que au niveau de mon action je sais pas comment controler ça , je veux quand je clique sur ok je reste sur la meme page.
    voila mon action:
    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
    package com.yourcompany.struts.action;
    
    
    
    
    
    import java.io.File;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import com.yourcompany.struts.form.SupprimerProjetForm;
    public class SupprimerProjetAction  extends Action  
    {
    	
    public ActionForward execute(ActionMapping mapping, ActionForm form,   
    	         HttpServletRequest request, HttpServletResponse response)   
    	         throws Exception {
    		
    	   long committedRevision = -1;
    	   SupprimerProjetForm suppProjetForm= (SupprimerProjetForm)form; 
    	   String choix=suppProjetForm.getSuppprojet();
    	   String[] valeurs = request.getParameterValues("suppprojet"); 
    	   String projet=valeurs[0];
    	   if(!choix.equals(""))
    	   {
    		   String cmd="svn delete -m 'deleting' svn://localhost/"+projet;
    		   try { 
    				Runtime r = Runtime.getRuntime(); 
    				Process p = r.exec(cmd);
    				System.out.println(valeurs);
    			   }
    			catch(Exception e) 
    			{ 
    					System.out.println("erreur d'execution"+cmd+e.getMessage()); 
    			}
    			
    		   return mapping.findForward("successSuppP");
    		   
    	   }
    	   else if(!choix.equals(""))
    	   
    		  return mapping.findForward("SuppPfailed");
    	   
    	   else return mapping.findForward("SuppPfailed");
    	}
    	
    
    }
    l'erreur est au niveau de la ligne que j'ai souligné en rouge .je sais pas comment gerer ça

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Pour que l'Action ne s'exécute pas tant que la checkbox n'est pas cochée, tu peux ajouter un return false dans la fonction Javascript comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function DoTheCheck() 
    {
       var isCheck=true ;
       if (document.supprimerP.suppprojet.checked == false)
       { 
          alert('veuillez choisir le projet à supprimer');
          isCheck=false ;
       }
       return isCheck ;
    }
    et un return lors de l'appel de la fonction DoTheCheck :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="submit" onclick="return DoTheCheck(); "> select book</button>

  5. #5
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Par défaut
    toujours la meme erreur et au niveau de la meme ligne :
    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
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    javax.servlet.ServletException: java.lang.NullPointerException
    	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	com.yourcompany.struts.action.SupprimerProjetAction.execute(SupprimerProjetAction.java:28)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.13.
    le problème c'est que mon action laisse pas s'executer le javascript sur checkbox.au cas ou la case n'est pas coché il génère cette exception

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Normalement, avec le code que je t'ai donné, il ne devrait pas exécuter l'Action lorsque la checkbox n'est pas cochée.
    Si le code de l'Action est exécutée, cela signifie qu'il ne rentre pas dans le if (document.supprimerP.suppprojet.checked == false).
    Dans le code de l'Action, je vois que tu fais un request.getParameterValues("suppprojet").
    suppprojet n'est donc pas un String mais plutôt un tableau de String non ?
    Cela expliquerait pourquoi il ne rentre pas dans le if.
    Quand on utilise les checkbox, cela signifie que l'on peut en cocher plusieurs.
    Est-ce bien ce que tu souhaites ?

    Pourrais-tu montrer le code complet de la jsp ?

    Sinon, pour éviter le NullPointerException, il suffit tout simplement de vérifier que l'objet valeurs n'est pas null :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( valeurs != null )
    {
       String projet=valeurs[0];
       ...
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/09/2014, 11h52
  2. demande d'aide pour boite de dialogue
    Par damienboss dans le forum Débuter
    Réponses: 7
    Dernier message: 24/02/2009, 17h57
  3. Sélectionner une image à l'aide d'une boite de dialogue
    Par morfussine dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 19/09/2008, 11h37
  4. Aide MFC et boite de dialogue
    Par Gnius dans le forum Visual C++
    Réponses: 2
    Dernier message: 14/11/2007, 08h41
  5. aide pour boite de dialogue
    Par stanfordia dans le forum Visual C++
    Réponses: 4
    Dernier message: 31/03/2007, 17h10

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