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 :

A partir d'un bouton faire une action Struts mais . . .


Sujet :

Struts 1 Java

  1. #1
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Points : 128
    Points
    128
    Par défaut A partir d'un bouton faire une action Struts mais . . .
    Bonjour,


    j'aimerais que quand je clique sur un bouton j'exécute une action, mais le problème c'est que pour déclencher une action il faut un formulaire, et moi j'en ai pas dans mon action.


    ce que je souhaite c'est faire appel a une action qui m'initialise tout un tas de variable sans pour autant lui donner un formulaire ... alors j'ai fais ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		<div class="buttonArchives">		
    			<html:form action="/load/listeInit">			
    			<button type="submit" class="projectButtonTop"> 
    				Archives
    			</button>
    			</html:form>	
    		</div>

    mais il me dit :

    Cannot retrieve definition for form bean null
    vous auriez une idée ?

  2. #2
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Créé un ActionForm vide et saute l'étape du validate en le précisant dans le struts-config.

    Une classe Action est obligatoirement lié à un ActionForm dans Struts.

  3. #3
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Points : 128
    Points
    128
    Par défaut
    saute l'étape du validate en le précisant dans le struts-config.
    comment ca ?

  4. #4
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Dans ton struts-config.xml:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <action-mappings>
            <action
                attribute="userinputForm"
                input="/userinput.jsp"
                name="userinputForm"
                path="/userinput"
                type="com.personalStruts.struts.action.UserinputAction"
                validate="false">
                <forward name="succes" path="/useroutput.jsp" />
            </action>
          </action-mappings>
    En ajoutant validate="false", tu indiques au requestprocessor qu'il n'a pas besoin de valider le formulaire et donc qu'il peut exploiter une ActionForm vide.

  5. #5
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Points : 128
    Points
    128
    Par défaut
    bun j'ai mis ca :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    		<action 
                               path="/init/listData"
                               type="manager.action.ActionInitListData" 
                               scope="request"
                               validate="false">
    		     <forward name="success" path="/jsp/viewList.jsp"/>
    		     <forward name="failure" path="project.manager.erreur"/>
    		</action>

    il me sort toujours :

    [ServletException in:/jsp/header.jsp] Cannot retrieve definition for form bean null'
    vous y voyez une erreur vous ?

  6. #6
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Points : 128
    Points
    128
    Par défaut
    pourtant il y est le validate="false" !

    un truc aussi simple, vraiment ca me gave ! j'pige vraiment rien !

  7. #7
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Parce que tu dois obligatoirement attaché une ActionForm à une Action!!!

    Là ok tu lui dis de ne pas valider les champs, mais tu ne lui donnes aucune ActionForm rattachée à l'Action. Normal qu'il t'éjecte. C'est absolument obligatoire.

    Alors tu créées une classe ActionForm entièrement vide et tu la rattaches à ton Action. Sinon tu t'en sortiras pas.

  8. #8
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Points : 128
    Points
    128
    Par défaut
    alors reprenons dans ma jsp j'ai ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    			<html:form action="/init/listData">			
    			<button type="submit" class="projectButtonTop"> 
    				initialisateur A
    			</button>
    			</html:form>

    dans mon struts-config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		<action 
                               path="/init/listData"
                               type="manager.action.ActionInitListData" 
                               scope="request"
                               validate="false">
    		     <forward name="success" path="/jsp/viewList.jsp"/>
    		     <forward name="failure" path="project.manager.erreur"/>
    		</action>

    et ma classe 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
     
    public class ActionInitListData extends Action{
     
    	@Override
    	public ActionForward executeAction(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws Exception {
     
    			try{
     
    			// code de traitement ... 
    				return mapping.findForward(ManagerWebConstantes.SUCCESS);
     
    			} catch(Exception e) {
    				e.printStackTrace();
    				return mapping.findForward(ManagerWebConstantes.FAILURE);
     
    			}
    	}
     
    }


    comme ca ? et c'est qu'apres je pourrais mettre dedans un peu de code afin d'initialiser quelques trucs ...

  9. #9
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Ouais mais encore une fois, il te faut une classe ActionForm. C'est absolument incontournable. Même si tu n'as pas de formulaire HTML ou de données transmises en URL.
    C'est obligatoire.

    Quitte à faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class VideForm extends ActionForm
    {
    }

  10. #10
    Inactif  
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Points : 128
    Points
    128
    Par défaut
    oula ... non rien, merci

Discussions similaires

  1. Faire une action en attente d'une touche
    Par utoria dans le forum Assembleur
    Réponses: 1
    Dernier message: 15/03/2007, 11h38
  2. comment faire une action sur JPanel
    Par L4BiN dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/01/2007, 12h13
  3. faire une action lors de frappes clavier
    Par wag71 dans le forum Access
    Réponses: 9
    Dernier message: 20/12/2006, 16h00
  4. Faire une action sur Control + C
    Par bluecurve dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2006, 00h19
  5. Comment faire une action, par rapport au temps
    Par Happy dans le forum OpenGL
    Réponses: 5
    Dernier message: 12/11/2005, 13h27

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