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 :

DispatchAction et parameter


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Par défaut DispatchAction et parameter
    Bonjour
    j ai un petit soucis avec la dispatchAction en fait a chaque fois ou j accede a la page qui contient le parametre operation elle me ressort une erreur du type

    Servlet error: Request[/operations] does not contain handler parameter named 'operation'. This may be caused by whitespace in the label text.
    voila mon code
    Struts-config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <action path="/operations" type="com.frsq.registre.web.action.investigator.OperationsAction"
                name="operationsForm" scope="request" validate="true" parameter="operation" >
     
          <forward name="succes" path="/operations" redirect="false"/>
        </action>
    OperationsForm
    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
    public class OperationsForm extends ActionForm{
      private String operation="aucune";
      private String reference;
     
        public void setOperation(String operation) {
            this.operation = operation;
        }
     
        public String getOperation() {
            return operation;
        }
     
        public void setReference(String reference) {
            this.reference = reference;
        }
     
        public String getReference() {
            return reference;
        }
    }
    OperationsAction
    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
    public  class OperationsAction extends DispatchAction  {
     
          public ActionForward ajouter(
            ActionMapping       mapping,
            ActionForm          form,
            HttpServletRequest  request,
            HttpServletResponse response) throws IOException, ServletException
          {
     
            System.out.println("Appel de la methode ajouter()");
            return (mapping.findForward("succes"));
          }
     
          public ActionForward modifier(
            ActionMapping       mapping,
            ActionForm          form,
            HttpServletRequest  request,
            HttpServletResponse response) throws IOException, ServletException
          {
            System.out.println("Appel de la methode modifier()");
            return (mapping.findForward("succes"));
          }
     
          public ActionForward supprimer(
            ActionMapping       mapping,
            ActionForm          form,
            HttpServletRequest  request,
            HttpServletResponse response) throws IOException, ServletException
          {
            System.out.println("Appel de la methode supprimer()");
            return (mapping.findForward("succes"));
          }
        }
    Page operations.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
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="/WEB-INF/config/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/config/struts-html.tld" prefix="html" %>
      <html>
        <head>
          <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
          <title>untitled</title>
        </head>
        <body>
          <html:form action="/operations" focusIndex="reference">
           
            <table>
                  <tr>
                <td>
                  <html:text property="reference"/>
                </td>
              </tr>
              <tr>
                <td colspan="2" align="center">
                 <html:submit property="operation">ajouter</html:submit>
                  <html:submit property="operation">modifier</html:submit>
                  <html:submit property="operation">supprimer</html:submit>
                </td>
              </tr>
            </table>
          </html:form>
        </body>
      </html>

  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
    Tu es en train de mélanger l'utilisation de la DispatchAction et de la LookupDispatchAction.
    Pour plus d'infos, voir dans la FAQ.

  3. #3
    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
    Il faut surtout ajouter un champ hidden à ton formulaire qui se nomme "operation"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="hidden" name="operation" value="cequetuveux"/>
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Par défaut
    slt
    Non je ne melange rien
    il y a deux facçns de faire soit d'ajouter des champs hidden soit de les hardcoder directement parce que comme vous savez ce qui est ecrit entre les tags <html:button> et </html:button> est pris comme valeur si jamais celle si n est pas précisée.

    lookupDispatchAction est plus orientée internationalisation et croyez moi l internationalisation et le dernier de mes soucis mnt

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Par défaut
    Bonjour,
    je suis curieux et j'aimerais bien savoir si ta solution marche, utiliser le dispatchAction sans un parametre <htlm:hidden> ds votre form jsp, et sans attribut hidden dans votre actionForm,

    ça m'etonerais si ça marche

  6. #6
    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
    Citation Envoyé par Rambler Voir le message
    utiliser le dispatchAction sans un parametre <htlm:hidden> ds votre form jsp, et sans attribut hidden dans votre actionForm
    Tu veux dire quoi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Par défaut
    Ca marche il faut ajouter le parmetre dans le
    <html:submit property="dispatchParam">ajouter</html:submit>

    ajouter sera le nom de la methode a executer avec dispatchAction sinon avec des lookupDispatchAction on met la clé <bean:message key="button.ajouter">

Discussions similaires

  1. Objet Parameter défini de manière incorrecte.
    Par Débéa dans le forum Bases de données
    Réponses: 5
    Dernier message: 26/04/2013, 15h17
  2. [STRUTS] exemple, dispatchAction
    Par Canou dans le forum Struts 1
    Réponses: 5
    Dernier message: 10/09/2004, 10h26
  3. [Struts]DispatchAction ...
    Par djoukit dans le forum Struts 1
    Réponses: 3
    Dernier message: 14/06/2004, 11h09
  4. Syntaxe PARAMETERS pour requête sous VBA
    Par GAGNON dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/11/2003, 11h39
  5. Treeview : Erreur "Reference to variable or parameter..
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 4
    Dernier message: 06/05/2003, 11h19

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