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 :

[Débutant] Déclencher une action sans passer par un bean form


Sujet :

Struts 1 Java

  1. #1
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut [Débutant] Déclencher une action sans passer par un bean form
    Bonjour à tous et à toutes ,

    Voilà, je suis débutant en struts et j'aimerais savoir si c'est possible de déclencher une action struts en cliquant sur le bouton submit d'une jsp sans passer par un BeanForm.

    En gros , j'ai une page JSP toute simple que voici :
    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
     
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Accueil</title>
        </head>
        <body>
     
            <h1>***************</h1>
     
            <html:submit value="Continuer"/>
     
        </body>
    </html>
    J'aimerais que lorsqu'on clique sur le bouton "Continuer" de type submit, cette classe soit appellée :
    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
     
    public class AfficheProcedures extends Action {
     
        /* forward name="success" path="" */
        private final static String SUCCESS = "success";
     
        /**
         * This is the action called from the Struts framework.
         * @param mapping The ActionMapping used to select this instance.
         * @param form The optional ActionForm bean for this request.
         * @param request The HTTP Request we are processing.
         * @param response The HTTP Response we are processing.
         * @throws java.lang.Exception
         * @return
         */
        public ActionForward execute(ActionMapping mapping, ActionForm  form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
     
            HttpSession session=request.getSession();
     
            ArrayList procedures=Dao.getInstance().getProcedures();
     
            if(procedures.size() > 0){
                session.setAttribute("procedures",procedures);
            }
     
            return mapping.findForward(SUCCESS);
     
        }
    }
    et voici mon struts-config.xml :
    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
     
    <?xml version="1.0" encoding="UTF-8" ?>
     
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
     
     
    <struts-config>
        <form-beans>
     
        </form-beans>
     
        <global-exceptions>
     
        </global-exceptions>
     
        <global-forwards>
     
        </global-forwards>
     
        <action-mappings>
            <action path="/procedures" type="com.app.AfficheProcedures">
                <forward name="success" path="/ListeProcedures.jsp"/>
            </action>
     
        </action-mappings>
     
        <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
     
        <message-resources parameter="com/app/ApplicationResource"/>    
    </struts-config>
    Je suis à votre disposition pour toute information.

    Merci d'avance pour votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    Et si tu exécutes avec le code que tu as mis là, qu'est ce que ca dit? Y a-t-il une/plusieurs erreurs?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Tu as oublié d'encapsuler tes (ou plutot "ton") éléments de formulaire (ton bouton submit) dans une balise <html:form action="/procedures.do">, non ?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    Bah à part ca, je ne vois pas en quoi ca serait gênant de déclencher l'action sans mettre des champs de formulaires.....
    A priori, tu n'utilise pas de champs input ou html:text ou....autres.... dans une balise <html:form>....
    Donc du coup il va pas chercher à sauvegarder des champs saisis par l'utilisateur, et du coup tu n'as pas besoin de définr de bean qui correspondraient à ton form.
    Et du coup tu es dans ton action lorsque tu cliques sur ton submit...et la tu fais ce que tu veux

Discussions similaires

  1. [1.x] Une Action() et une Route sans passer par le login
    Par selecto dans le forum Symfony
    Réponses: 1
    Dernier message: 17/01/2012, 10h44
  2. Réponses: 7
    Dernier message: 14/05/2008, 18h31
  3. Envoyer une télécopie sans passer par l'assistant de télécopie
    Par therouxy dans le forum Composants VCL
    Réponses: 5
    Dernier message: 09/10/2006, 11h05
  4. Réponses: 5
    Dernier message: 13/04/2006, 22h54
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

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