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 :

If / Else dans mon Action


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut If / Else dans mon Action
    Bonjour,

    Aujourd'hui c'est le dernier problème que je pourrai vous poser donc je mise tous mes espoirs sur votre réponse

    Voila mon problème, j'ai une JSP avec une checkbox. Lorsque je la coche et que je soumet, je fait une requête à mes EJB. Lorsque je le décoche, j'ai un tableau qui apparaît où je peux faire une "recherche par critères".

    De ce fait, dans mon Action je test d'abord si ma checkbox est cochée, et ensuite si ce n'est pas le cas, quels champs sont remplis ou non.

    Le problème est que dans mon action j'utilise un if / else, et qu'une fois le if passé, j'ai le droit à une exception "null" (en faisant un getMessage()). Voyez donc mon code :

    JSP :

    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
    // Pour cacher / rendre visible le tableau de recherche par critères
    function ShowTab()
    {
      if(document.getElementById("chk1").checked ){
        document.getElementById("tab2").style.display = "none";
        document.getElementById("numero").value = "0";}
      else{document.getElementById("tab2").style.display = "block";
       document.getElementById("numero").value = "";}
    }
     
    <!-- Formulaire de recherches -->
              <html:form action="/Actions/doRechercherDemandesValidation.do">
     
    	<table cellspacing="6" >
              <tr>
                <td><html:checkbox property="allDemandes" onclick="ShowTab()" styleId="chk1" /></td>
                <td>Toutes les demandes</td>
              </tr>
           </table>
           <table cellspacing="6" >
              <tr>
               <td>Uniquement la(les) demande(s) ...</td>
              </tr>
               <tr>
     
    <!-- Calendrier -->
    <table class="ds_box" cellpadding="0" cellspacing="0" id="ds_conclass" style="display: none;">
    <tr><td id="ds_calclass">
    </td></tr>
    </table>
    <script language="javascript" src="/LivApp/Javascripts/calendrier.js"></script>
    <!-- Fin calendrier -->
     
                 <table class="tableau_recherche" align="center" id="tab2"  style="display: none;">
                  <tr>
                    <th>ayant le numéro (entrez le numéro de livraison) :</th>
                    <th><html:text styleId="numero" property="numero" value=""/></th>
                  </tr>
                  <tr>
                    <td>prévue(s) pour le (date de livraison) :</td>
                    <td><input onclick="ds_sh(this);" name="date" readonly="readonly" style="cursor:text"/></td>
                  </tr>
                  <tr>
                    <th>émise(s) par (entrez le nom du demandeur) :</th>
                    <th><input type"text"/></th>
                  </tr>
                   <tr>
                    <td>d'un type de composant spécifique : </td>
                    <td>
                      <bean:define id='listeDemandesValidation' type='java.util.Collection' name='tableauDemandesValidationActionForm' property='listeTypeDemandes'/>
                      <html:select name="tableauDemandesValidationActionForm" property="codeType" >
                      <html:option value="0">-- Tous les types --</html:option>
                      <html:options collection="listeDemandesValidation" property="codeType" labelProperty="libType" />
    		  </html:select>
                      </td>
                   </tr>
                  </table>
              </tr>
              </table>
              <br />
              <table align="center">
                <td><html:submit>Rechercher</html:submit></td>
                <td><html:button property="verMenu" onclick="javascript:annuler()" value="Annuler" /></td>
    	  </tr>
     
    	</table>
             </html:form>
    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
    54
    55
    56
    57
    package gest_livr_appli.Action;
     
    import org.apache.struts.action.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import gest_livr_appli.EJB.Delegate.LivraisonDelegate;
    import gest_livr_appli.DTO.LivraisonDto;
    import gest_livr_appli.ActionForm.LivraisonActionForm;
    import java.util.Arrays;
     
    public class doRechercherDemandesValidationAction extends Action{
     
      public ActionForward execute(ActionMapping actionMapping,
                                   ActionForm actionForm,
                                   HttpServletRequest httpServletRequest,
                                   HttpServletResponse httpServletResponse) {
     
        try {
              LivraisonActionForm resultatsDemandesValidationActionForm = (LivraisonActionForm) actionForm;
              LivraisonDelegate livraisonDelegate = new LivraisonDelegate();
     
              // Test de la recherche par Numéro
              String temp = httpServletRequest.getParameter("numero");
     
              // L'appli récupère le champ du numéro et le converti
              System.out.println(temp);
              int num = Integer.parseInt(temp);
              Integer numero = new Integer(num);
              LivraisonDto[] livraisonDto;
     
              // Test de la valeur de la checkbox
              String checkBox = httpServletRequest.getParameter("allDemandes");
              System.out.println(checkBox);
     
        // Si la checkbox est cochée, on sais quoi faire.
        if(checkBox.matches("on"))
                 {
                    livraisonDto = livraisonDelegate.livraisonFindAllWFV();
                    resultatsDemandesValidationActionForm.setlivListCollection(Arrays.asList(livraisonDto));
                  }
     
        // Sinon on fait autre chose mais le System.out ne passe même pas !!!
          else
              {  
              System.out.println("ça passe par le else");
             }
     }
              catch (Throwable ex) {
     
                // Le System.out m'affiche null (???)
               System.out.println(ex.getCause());
                return null;
             }
     
          return (actionMapping.findForward("afficherResultats"));
        }
     }

  2. #2
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    On met tous les espoirs de ton coté. Ta 10 minutes après je rentre chez moi, :-)

    Donne nous la stacktrace de ton erreur. Ca nous dira sur quoi il y a le nullPointer


    A vu de nez et avec un peu de chance, c'est livraisonDto qui est null.
    IL faudra le detail de la methode livraisonFindAllWFV

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Ok, ok , je me magne alors

    Voila la stacktrace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Ljava.lang.StackTraceElement;@ef112]
    Edit : Je ne vois pas comment livraisonDto pourrait être null, puisque le if fonctionne très bien (la méthode livraisonFindAllWFV). C'est le else qui ne passe pas ...

    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
     public LivraisonDto livraisonFindByPrimaryKey(Integer numero) throws
          EJBException {
        try {
          return LivraisonDtoAssembler.createDto(livraisonHome.findByPrimaryKey(
              numero));
          //return assembleLivraisonDto(livraisonHome.findByPrimaryKey(numero));
        }
        catch (Exception e) {
          throw new EJBException(e.getMessage());
        }
      }
     
     public LivraisonDto[] livraisonFindAllWFV() {
        try {
          return LivraisonDtoAssembler.createDtos(livraisonHome.findAllWFV());
        }
        catch (Exception e) {
          throw new EJBException(e.getMessage());
        }
     
      }

  4. #4
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Non je ne veux pas l'object stackTrace mais la trace de la stack.

    Tu n'as pas un gros paté d'explication ou tu ne comprend rien qui s'affiche dans ta console?

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Arf, oui désolé, où avais-je la tête

    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
    java.lang.NullPointerException
     
    	at gest_livr_appli.Action.doRechercherDemandesValidationAction.execute(doRechercherDemandesValidationAction.java:36)
     
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
     
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
     
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
     
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
     
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)1012
     
    null
     
     
     
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     
    	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
     
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
     
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
     
    	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6291)
     
    	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
     
    	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
     
    	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3575)
     
    	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2573)
     
    	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
     
    	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)
    La ligne 36 de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(checkBox.matches("on"))

  6. #6
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Voila ca veut dire que tu n'as pas le parametre "allDemandes" dans le request!

    Es-tu sur de ne pas avoir confondu parametre et attribut?

    Est-ce que dans la barre d'adresse tu as "allDemandes" qui est marqué?

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Negatif, je n'ai rien du tout.

    Pourtant, j'ai bien dans ma JSP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      <td><html:checkbox property="allDemandes" onclick="ShowTab()" styleId="chk1" /></td>
                <td>Toutes les demandes</td>
    On récupère bien un property par un getParameter() ? Je me trompe ?

  8. #8
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Et je suppose que "numero" n'est pas marquer non plus vu qu'il y a marqué null dans la stack?

    Dans la barre d'adresse, après .do, rajoute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ?numero=2&allDemandes=on
    Et la normalement ca passe

  9. #9
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Oui en effet, lorsque je met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    doRechercherDemandesValidation.do?numero=2021&allDemandes=null
    Au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    doRechercherDemandesValidation.do
    J'ai bien le message "ça passe par le else" du System.out dans le else.

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Attention avec ces de checkbox, quand elles ne sont pas "checkée", rien n'est renvoyé au serveur et donc, dans ton cas, checkBox = NULL et comme tu fais checkBox.matches(...) -> NullPointerException

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Merci de la précision, j'avais essayé avec deux radios bouttons, mais même bordel ...

    Alors comment faire ? Y-a-t-il une fourbe stratégie bien crade telle la feinte du canard boiteux, ou bien suis-je condamné à serrer les fesses devant mon boss demain ?

  12. #12
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    et bien le plus simple dans ton cas, c'est de faire un test avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String checkBox = request.getParameter("...");
    if ( checkBox != null && checkBox.matches(...) )
    {
       livraisonDto = livraisonDelegate.livraisonFindAllWFV();
      resultatsDemandesValidationActionForm.setlivListCollection(Arrays.asList(livraisonDto));
    }
    else
    {
       ... l'autre chose ...
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Merci du coup de main, ça va mieux maintenant

  14. #14
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Bon alors plutôt que de faire un nouveau sujet je reste sur celui ci (les modos seront contents ).

    Voici mon code actuel après les modifs indiquées plus haut :

    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
    public class doRechercherDemandesValidationAction extends Action{
     
      public ActionForward execute(ActionMapping actionMapping,
                                   ActionForm actionForm,
                                   HttpServletRequest httpServletRequest,
                                   HttpServletResponse httpServletResponse) {
     
        try {
              LivraisonActionForm resultatsDemandesValidationActionForm = (LivraisonActionForm) actionForm;
              LivraisonDelegate livraisonDelegate = new LivraisonDelegate();
              LivraisonDto[] livraisonDto;
     
              // Test de la valeur de la checkbox
              String checkBox = httpServletRequest.getParameter("allDemandes");
     
        if(checkBox != null && checkBox.matches("on"))
                 {
                    livraisonDto = livraisonDelegate.livraisonFindAllWFV();
                    resultatsDemandesValidationActionForm.setlivListCollection(Arrays.asList(livraisonDto));
                 }
     
          else  {
                     String temp = httpServletRequest.getParameter("numero");
                   if(temp != ""){
                     int num = Integer.parseInt(temp);
                     Integer numero = new Integer(num);
                   if(numero != null ){
                    livraisonDto = livraisonDelegate.livraisonFindByNumeroWFV(numero);
                    resultatsDemandesValidationActionForm.setlivListCollection(Arrays.asList(livraisonDto));
                   }
                   }
                  else{
                    String sDate = httpServletRequest.getParameter("dateLivraison");
                    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
                    Date date = formatter.parse(sDate);
                    livraisonDto = livraisonDelegate.livraisonFindByDateLivWFV(date);
                    resultatsDemandesValidationActionForm.setlivListCollection(Arrays.asList(livraisonDto));        
                  }  
               } 
         }
     
              catch (Throwable ex) {
     
                // Le System.out m'affiche null (???)
              ex.printStackTrace();
                return null;
             }
     
          return (actionMapping.findForward("afficherResultats"));
        }
     }
    J'ai donc tenté d'avance en intégrant les dates maintenant, seulement j'obtiens une nouvelle erreur :

    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
    java.lang.IllegalArgumentException: argument type mismatch
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
    	at org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
    	at org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
    	at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
    	at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
    	at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
    	at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6291)
    	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3575)
    	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2573)
    	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
    	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)
    Et comme elle n'est plus très présente en mémoire et que sur le Net ben j'ai rien trouvé ... vous seriez plus en mesure de m'indiquer la sortie

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Là, il faudrait montrer ton ActionForm et la Jsp tant qu'à faire...
    Le problème est lié à la copie des données (par struts) entre la page et le formulaire.

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Mon ActionForm :

    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
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    package gest_livr_appli.ActionForm;
     
    import java.math.*;
    import java.util.*;
     
    import org.apache.struts.action.*;
    import gest_livr_appli.DTO.*;
     
    public class LivraisonActionForm
        extends ActionForm {
      private Integer codeEnvironnement;
      private Integer codeLot;
      private Integer codeType;
      private String commEtape1;
      private String commEtape2;
      private String commEtape3;
      private String commValid;
      private Date dateDemande;
      private Date dateLivraison;
      private Date datePresentation;
      private String etat;
      private String filiereCible;
      private String filiereSource;
      private String nomChefProjet;
      private String nomEmetteur;
      private String nomExploitant;
      private String nomIntegrateur;
      private Integer numero;
      private Integer numeroFas;
      private Integer versionDemande;
      private String versionEnvironnement;
      private ComposantDto[] composants;
      private Collection livListCollection;
      private Collection envListCollection;
      private TypeLivraisonDto[] typeLivraisons;
      private LivraisonDto livraison;
      private String allDemandes;
     
      public Integer getCodeEnvironnement() {
        return codeEnvironnement;
      }
     
      public void setCodeEnvironnement(Integer codeEnvironnement) {
        this.codeEnvironnement = codeEnvironnement;
      }
     
      public String getAllDemandes() {
       return allDemandes;
     }
     
     public void setAllDemandes(String allDemandes) {
       this.allDemandes = allDemandes;
     }
     
       public Integer getCodeLot() {
        return codeLot;
      }
     
      public void setCodeLot(Integer codeLot) {
        this.codeLot = codeLot;
      }
     
      public Integer getCodeType() {
        return codeType;
      }
     
      public void setCodeType(Integer codeType) {
        this.codeType = codeType;
      }
     
      public String getCommEtape1() {
        return commEtape1;
      }
     
      public void setCommEtape1(String commEtape1) {
        this.commEtape1 = commEtape1;
      }
     
      public String getCommEtape2() {
        return commEtape2;
      }
     
      public void setCommEtape2(String commEtape2) {
        this.commEtape2 = commEtape2;
      }
     
      public String getCommEtape3() {
        return commEtape3;
      }
     
      public void setCommEtape3(String commEtape3) {
        this.commEtape3 = commEtape3;
      }
     
      public String getCommValid() {
        return commValid;
      }
     
      public void setCommValid(String commValid) {
        this.commValid = commValid;
      }
     
      public Date getDateDemande() {
        return dateDemande;
      }
     
      public void setDateDemande(Date dateDemande) {
        this.dateDemande = dateDemande;
      }
     
      public Date getDateLivraison() {
        return dateLivraison;
      }
     
      public void setDateLivraison(Date dateLivraison) {
        this.dateLivraison = dateLivraison;
      }
     
      public Date getDatePresentation() {
        return datePresentation;
      }
     
      public void setDatePresentation(Date datePresentation) {
        this.datePresentation = datePresentation;
      }
     
      public String getEtat() {
        return etat;
      }
     
      public void setEtat(String etat) {
        this.etat = etat;
      }
     
      public String getFiliereCible() {
        return filiereCible;
      }
     
      public void setFiliereCible(String filiereCible) {
        this.filiereCible = filiereCible;
      }
     
      public String getFiliereSource() {
        return filiereSource;
      }
     
      public void setFiliereSource(String filiereSource) {
        this.filiereSource = filiereSource;
      }
     
      public String getNomChefProjet() {
        return nomChefProjet;
      }
     
      public void setNomChefProjet(String nomChefProjet) {
        this.nomChefProjet = nomChefProjet;
      }
     
      public String getNomEmetteur() {
        return nomEmetteur;
      }
     
      public void setNomEmetteur(String nomEmetteur) {
        this.nomEmetteur = nomEmetteur;
      }
     
      public String getNomExploitant() {
        return nomExploitant;
      }
     
      public void setNomExploitant(String nomExploitant) {
        this.nomExploitant = nomExploitant;
      }
     
      public String getNomIntegrateur() {
        return nomIntegrateur;
      }
     
      public void setNomIntegrateur(String nomIntegrateur) {
        this.nomIntegrateur = nomIntegrateur;
      }
     
      public Integer getNumero() {
        return numero;
      }
     
      public void setNumero(Integer numero) {
        this.numero = numero;
      }
     
      public Integer getNumeroFas() {
        return numeroFas;
      }
     
      public void setNumeroFas(Integer numeroFas) {
        this.numeroFas = numeroFas;
      }
     
      public Integer getVersionDemande() {
        return versionDemande;
      }
     
      public void setVersionDemande(Integer versionDemande) {
        this.versionDemande = versionDemande;
      }
     
      public String getVersionEnvironnement() {
        return versionEnvironnement;
      }
     
      public void setVersionEnvironnement(String versionEnvironnement) {
        this.versionEnvironnement = versionEnvironnement;
      }
     
      public ComposantDto[] getComposants() {
        return composants;
      }
     
      public void setComposants(ComposantDto[] composants) {
        this.composants = composants;
      }
     
      public Collection getlivListCollection() {
        return livListCollection;
      }
     
      public Collection getenvListCollection() {
       return envListCollection;
     }
     
      public void setlivListCollection(Collection livListCollection) {
        this.livListCollection = livListCollection;
      }
     
      public void setenvListCollection(Collection envListCollection) {
        this.envListCollection = envListCollection;
      }
     
      public TypeLivraisonDto[] getTypeLivraisons() {
        return typeLivraisons;
      }
     
      public void setTypeLivraisons(TypeLivraisonDto[] typeLivraisons) {
        this.typeLivraisons = typeLivraisons;
      }
     
      public LivraisonDto getLivraison() {
          return livraison;
        }
     
      public void setLivraison(LivraisonDto livraison) {
          this.livraison = livraison;
        }
     
    }
    Et la JSP :

    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
              <!-- Formulaire de recherches -->
              <html:form action="/Actions/doRechercherDemandesValidation.do">
     
    	<table cellspacing="6" >
              <tr>
                <td><html:checkbox property="allDemandes" onclick="ShowTab()" styleId="chk1" /></td>
                <td>Toutes les demandes</td>
              </tr>
           </table>
           <table cellspacing="6" >
              <tr>
               <td>Uniquement la(les) demande(s) ...</td>
              </tr>
               <tr>
     
    <!-- Calendrier -->
    <table class="ds_box" cellpadding="0" cellspacing="0" id="ds_conclass" style="display: none;">
    <tr><td id="ds_calclass">
    </td></tr>
    </table>
    <script language="javascript" src="/LivApp/Javascripts/calendrier.js"></script>
    <!-- Fin calendrier -->
     
                 <table class="tableau_recherche" align="center" id="tab2"  style="display: none;">
                  <tr>
                    <th>ayant le numéro (entrez le numéro de livraison) :</th>
                    <th><html:text styleId="numero" property="numero" value=""/></th>
                  </tr>
                  <tr>
                    <td>prévue(s) pour le (date de livraison) :</td>
                    <td><html:text property="dateLivraison" onclick="ds_sh(this);" readonly="readonly" style="cursor:text"/></td>
                  </tr>
                  <tr>
                    <th>émise(s) par (entrez le nom du demandeur) :</th>
                    <th><input type"text"/></th>
                  </tr>
                   <tr>
                    <td>d'un type de composant spécifique : </td>
                    <td>
                      <bean:define id='listeDemandesValidation' type='java.util.Collection' name='tableauDemandesValidationActionForm' property='listeTypeDemandes'/>
                      <html:select name="tableauDemandesValidationActionForm" property="codeType" >
                      <html:option value="0">-- Tous les types --</html:option>
                      <html:options collection="listeDemandesValidation" property="codeType" labelProperty="libType" />
    		  </html:select>
                      </td>
                   </tr>
                  </table>
              </tr>
              </table>
              <br />
              <table align="center">
                <td><html:submit>Rechercher</html:submit></td>
                <td><html:button property="verMenu" onclick="javascript:annuler()" value="Annuler" /></td>
    	  </tr>
     
    	</table>
             </html:form>

  17. #17
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Ok, donc là, c'est sûr qu'il va avoir des problèmes pour t'affecter ton champ date...
    Tu à le choix entre :

    - modifier le type dans ton formulaire pour le mettre en String et faire les conversions par des getter/setter (si le format est fixe) ou au niveau de ton action (c'est mieux pour gérer avec une Locale)

    - utiliser une bibliothèque comme Struts-Layout qui te permet de convertir les champs automatiquement (ou presque, il faut quand même coder les routines, ajouter un plugin dans struts-config.xml)

    Si tu veux plus d'info sur une des 2 solutions, fais le savoir...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Arf ok.

    La première solution me semble plus adaptée et plus rapide.

    Ce que je ne comprend pas, c'est que j'ai déjà réussi à faire fonctionner la conversion de Date avec une fontion presque identique et la conversion fonctionne à merveille !

  19. #19
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Si tu saisis une date au bon format, ça peut fonctionner effectivement...
    Dans tous les cas, ce n'est pas propre...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  20. #20
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 90
    Par défaut
    Tant que ça fonctionne ...

    Bon je vais regarder de plus près ma fonction de Date alors pour voir ce qui serait susceptible de clocher.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Récupérer le nom de l'action appelante dans mon ActionSupport
    Par Khaled.Noordin dans le forum Struts 2
    Réponses: 4
    Dernier message: 26/07/2011, 16h03
  2. Réponses: 1
    Dernier message: 10/10/2008, 22h50
  3. Réponses: 8
    Dernier message: 27/03/2008, 13h40
  4. [1.x] Création de plusieurs objets dans mon action.class.php
    Par lijko dans le forum Symfony
    Réponses: 2
    Dernier message: 30/12/2007, 13h37
  5. pourquoi je ne passe pas dans mon action
    Par fk04 dans le forum Struts 1
    Réponses: 5
    Dernier message: 03/10/2007, 21h20

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