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 :

[Struts] idées pour coder un formulaire genre planning


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut [Struts] idées pour coder un formulaire genre planning
    Bonjour,

    Je souhaite créer un formulaire sous la forme d'un planning de disponibilités et je recherche le meilleur moyen pour le coder.
    je dispose de struts, struts-layout et toute autre taglib si nécessaire.

    le principe:
    Pouvoir dire à quelle(s) heure(s) on est disponible dans une journée.
    Il n'y a pas de contraintes de mois, ni d'année.

    Voici à quoi je voudrais que ca ressemble:

    ....... Lundi | Mardi | Mercredi | Jeudi | Vendredi | Samedi | Dimanche
    8h........#.........#.........#............#............#..............#................#
    9h........#.........#.........#............#............#..............#................#
    10h......#.........#.........#............#............#..............#................#
    etc...
    18h......#.........#.........#............#............#..............#................#

    magnifique le tableau !

    Chaque "#" (dièse) représente une case à cocher.

    Naturellement, j'ai pensé à utiliser des checkbox (<layout:checkbox>) et mettre tout cela dans un beau tableau(<layout:grid>).

    Mais le problème c'est que c'est super porc comme code dans la jsp (plein de copier/coller).
    Et pire, dans mon PlanningForm.java je me tapes (avec le tableau ci-dessus) 7j*10h = 70 variables + 70 getters + 70 setters, inimaginable donc ...
    je vous rassure, je les ai pas vraiment codé les .java


    Je voudrais savoir si il n'y aurait pas moyen de passer par une matrice pour gérer toutes ces checkbox directement dans la jsp.
    Ce qui faciliterai les traitements dans mon Planning{Form,Action}.java et intégration dans la base de données.

    Si j'ai fait naître parmi vous des idées, je suis preneur.
    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Je viens de découvrir <layout:checkboxes>.
    il semble que je puisse diviser par 10 le travail, ça me plait bien !
    j'etudie la question...

  3. #3
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    En fait tu peux utiliser un DynActionForm ou DynaValidatorForm et faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      <form-bean dynamic="false" name="TreeSearchForm" type="org.apache.struts.validator.DynaValidatorForm">
       <form-property name="cmd" type="java.lang.String"/>  
       <form-property name="checkArray" type="java.lang.String[]" size="100" />  
      </form-bean>
    et dans le jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <c:forEach var="row" varStatus="status"  items="${rowList}" >
    	<html-el:checkbox name="TreeSearchForm" property="checkArray[${status.index}]" />
    </c:forEach>
    Et enfin dans l'action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] allRows = (String[])PropertyUtils.getProperty(pDetails, "checkArray");

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    ok merci, ca me parait bien cette longueur de code ! (rien a voir avec avant)
    je vais travailler tout ca.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    je me suis lancé dans cette voie, et j'ai un petit problème, je m'explique:
    d'abord le code:

    extrait de struts-config.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form-bean name="PlanningDynaForm" type="org.apache.struts.action.DynaActionForm">
      <form-property name="msg" type="java.lang.String" initial="a l'init struts-config" />
      <form-property name="CheckBoxes" type="java.lang.String[]" size="7" initial="{ta, te, ti, to, tu, ty,tx}" />
     </form-bean>
    la jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     <c:forEach var="row" varStatus="row_vs" items="${PlanningDynaForm.map.CheckBoxes}" >
        <html:checkbox name="PlanningDynaForm" property="CheckBoxes[${row_vs.index}]" value="on" />
        <br />
       </c:forEach>
    J'ai une exception qui est levée à cause de ${row_vs.index} :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    javax.servlet.ServletException: Invalid argument looking up property CheckBoxes[${row_vs.index}] of bean PlanningDynaForm
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
    	org.apache.jsp.test_005fplanning_005fdyn_jsp._jspService(org.apache.jsp.test_005fplanning_005fdyn_jsp:107)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Si je mets un chiffre en dur à la place de ${row_vs.index} ca marche impecc... comprend pas
    En plus le ${row_vs.index} me donne bien un chiffre quand je l'imprime avec un <c:out ... />


    Merci.

  6. #6
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    oui il faut utiliser une
    <html-el:checkbox> et non pas une <html:checkbox>

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    cool merci, j'avais tilté dessus la première fois que je l'ai lu et je pensais que c'était une erreur.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/10/2011, 22h45
  2. Des idées pour la conception du formulaire ..
    Par itzik92 dans le forum IHM
    Réponses: 7
    Dernier message: 16/12/2008, 00h32
  3. [AJAX] Une idée pour un formulaire ?
    Par okkix dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/11/2007, 15h22
  4. Idée pour remplacer un formulaire en VBA
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/11/2007, 11h47

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