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 :

[LookupDispatchAction] missing resource in key method map


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut [LookupDispatchAction] missing resource in key method map
    je suis sur ma page recherche qui affiche les résultats d'une recherche à partir de cette page je souhaite editer une page client via une fonction edit qui pour l'instant m'envoit sur le détail d'un client définit par défaut, pour le besoin du test
    voici le code de 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
    public class ClientAction extends LookupDispatchAction {
        public ClientBean client;
        protected Map getKeyMethodMap() {
            Map map = new HashMap();
            map.put("button.edit", "edit");
            return map;
        }
    ...
      public ActionForward edit(ActionMapping mapping,
                ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response) throws java.lang.Exception, HibernateException{
            client = HibernateSQL.Select();
            request.getSession().setAttribute(mapping.getAttribute(),client);
            return mapping.findForward("client");
        }
    le fichier de config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <action 
            input="/client.jsp" 
            name="ClientForm" 
            path="/client"
            parameter="action"
            scope="session" 
            type="com.myapp.exploreoffre.struts.actions.ClientAction"/>           
        </action-mappings>
    le code de la jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="link">
                        <html:link action="client?action=edit">
                            <bean:write name="item" property="nom"/>
                            <bean:write name="item" property="prenom"/>
                            <bean:write name="item" property="telephone"/><br>
                        </html:link>
                    </div>
    et le code erreur : Action[/client] missing resource 'edit' in key method map
    et pourtant la fonction edit fonctionne très à partir de la page client!

  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
    Qu'as-tu déclaré comme libellé pour la clé button.edit dans le fichier de ressources ?

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    button.add=Ajouter
    button.edit=Editer
    button.delete=Supprimer
    button.reset=Reset
    ils correspondent au label des quatres boutons action qui sont dans mon formulaire client

  4. #4
    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
    Pour que cela fonctionne, il faudrait donc coder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link action="client?action=Editer">
    Jette un oeil à la FAQ Struts ici, il y a une solution plus élégante avec le bean:define.

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut
    Super ça marche encore merci le lien

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut
    Jusqu'ici tout va bien et si je souhaite passer un paramètre supplémentaire, exemple l'id du client à l'action ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <bean:define id="editer">
                    <bean:message key="button.edit"/>
                </bean:define>
                <logic:iterate id="item" name="Results">
                    <div class="link">
                        <!-- on passe l'action, le parametre, et le nom de la méthode contenu dans le cfg de struts -->
                        <html:link action="client" paramId="action" paramName="editer">
                            <bean:write name="item" property="nom"/>

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/10/2007, 15h40
  2. Réponses: 5
    Dernier message: 25/06/2007, 21h40
  3. Réponses: 10
    Dernier message: 27/01/2007, 13h54
  4. [message.properties]missing message for key !
    Par jeb001 dans le forum Struts 1
    Réponses: 3
    Dernier message: 16/11/2006, 22h18
  5. Struts layout affichage tableaux erreur: Missing resources
    Par bous_saad317 dans le forum Struts 1
    Réponses: 1
    Dernier message: 24/10/2006, 14h09

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