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 :

Erreur avec LookUpDispatchAction


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 179
    Par défaut Erreur avec LookUpDispatchAction
    Bonjour,

    J'ai l'erreur suivante quand j'éxecute une page où j'ai deux boutons Submit vers la même LookUpDispatchAction:
    javax.servlet.ServletException: Request[/refreshComm] does not contain handler parameter named submit
    J'ai pourtant suivi la FAQ sur Struts à ce sujet (cf: ici) et consulté le précédent topic relatant ce sujet (ici )

    Donc oivic ce que j'ai fait:
    Dans mon struts-config.xml
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <action 
                path  = "/refreshComm"
                name  = "commFilterForm"
                scope = "session"
                type  = "com.thalys.localys.web.action.message.RefreshCommAction"
                parameter = "submit">
                <forward name="success" path="message.communications" />
            </action>
    Code de RefreshCommAction
    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
    34
    35
    36
    37
    38
    39
    40
    41
    package ...;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.actions.LookupDispatchAction;
     
    ...
     
     
    public class RefreshCommAction extends LookupDispatchAction {
     
        public ActionForward filter(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
     
            Logger.getInstance().debug(this,"method filter");
     
     
            return mapping.findForward(Forwards.SUCCESS);
        }
     
        public ActionForward allToday(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
            Logger.getInstance().debug(this,"method AllToday");
     
     
            return mapping.findForward(Forwards.SUCCESS);
        }
     
     
        protected Map getKeyMethodMap() {
            Map map = new HashMap();
            map.put("common.filter.submit.all", "allToday");
            map.put("common.filter.submit", "filter");
            return map;
        }
     
    }
    Vous noterez la présence de getKeyMethodMap():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     protected Map getKeyMethodMap() {
            Map map = new HashMap();
            map.put("common.filter.submit.all", "allToday");
            map.put("common.filter.submit", "filter");
            return map;
        }
    Clés dans le ressource.bundle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    common.filter.submit.all=Tout
    common.filter.submit=Filtrer
    Et le code concerné dans la JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div class="submit">
    				<html:submit property="submit">
    					<bean:message key='common.filter.submit.all' />
    				</html:submit>
    				&nbsp;
    				<html:submit property="submit">
    					<bean:message key='common.filter.submit'/>
    				</html:submit>				
    			</div>
    Voilà. La raison pour laquelle je n'utilise pas de JavaScript est par souci d'accessibilité (si un de mes utilisateurs le désactive...).

    Merci d'avance

    Nicolas

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    ton code est bien placé dans une form ?

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 179
    Par défaut
    Oui oui.

    Cijoint tout mon code JSP (après tout, on sait pas...)

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <%@ page language="java" %>
    <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
    <%@ taglib uri="/tags/struts-tiles" prefix="tiles" %>
    
    <%@page import="com.thalys.localys.web.tools.Constants"%>
    <script type="text/javascript">
    <!--
    	var _LABEL_ADD        = "<bean:message key='common.filter.buttons.add' />";
    	var _LABEL_ADDALL     = "<bean:message key='common.filter.buttons.addall' />";
    	var _LABEL_REMOVE     = "<bean:message key='common.filter.buttons.remove' />";
    	var _LABEL_REMOVEALL  = "<bean:message key='common.filter.buttons.removeall' />";
    -->
    </script>
    
    <html:form action="/refreshComm" styleId="filterForm">
    	<div class="formcontainer">
    		<h4><span><bean:message key='common.filter'/></span></h4>
    		<div class="collapsable">
    			<html:hidden property='sortOn'/>
    			<html:hidden property='sortDir'/>
    			<fieldset id="requests">
    				<legend><bean:message key='comm.filter.requests' /></legend>
    				<html:select property='selectedRequests' multiple='true' size='6' styleClass="multipleSelect">
    					<html:options property='possibleRequests' />
    				</html:select>
    			</fieldset>
    			<fieldset id="responses">
    				<legend><bean:message key='comm.filter.responses' /></legend>
    				<html:select property='selectedResponses' multiple='true' size='6' styleClass="multipleSelect">
    					<html:options property='possibleResponses' />
    				</html:select>
    			</fieldset>
    			<fieldset id="rames">
    				<legend><bean:message key='comm.filter.rames' /></legend>
    				<html:select property='selectedRames' multiple='true' size='6' styleClass="multipleSelect">
    					<html:options property='possibleRames' />
    				</html:select>
    			</fieldset>
    			<fieldset id="period">
    			<legend><bean:message key='comm.filter.period' /></legend>
    				<label for="startDaySelect"><bean:message key="comm.filter.fromdate" />&nbsp;:</label>
    				<html:select property="startDay" styleId="startDaySelect">
    					<html:options property="possibleDays" />
    				</html:select>
    				<html:select property="startMonth">
    					<html:options property="possibleMonths" />
    				</html:select>
    				<html:select property="startYear">
    					<html:options property="possibleYears" />
    				</html:select>
    				<html:select property="startHour">
    					<html:options property="possibleHours" labelProperty="possibleHoursLabels" />
    				</html:select><br />
    				<label for="stopDaySelect"><bean:message key="comm.filter.todate" />&nbsp;:</label>
    				<html:select property="stopDay" styleId="stopDaySelect">
    					<html:options property="possibleDays" />
    				</html:select>
    				<html:select property="stopMonth">
    					<html:options property="possibleMonths" />
    				</html:select>
    				<html:select property="stopYear">
    					<html:options property="possibleYears" />
    				</html:select>
    				<html:select property="stopHour">
    					<html:options property="possibleHours" labelProperty="possibleHoursLabels" />
    				</html:select>
    			</fieldset>
    			<div class="submit">
    				<html:submit property="submit">
    					<bean:message key='common.filter.submit.all' />
    				</html:submit>
    				&nbsp;
    				<html:submit property="submit">
    					<bean:message key='common.filter.submit'/>
    				</html:submit>				
    			</div>
    		</div>
    	</div>
    </html:form>

  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
    Le fichier des messages est bien sous WEB-INF/classes ?

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    ton name name = "commFilterForm" est douteux à première vue (seconde vivi)

    (ca fait 4 ans que j utilise plus struts ca me fait pas de mal lol)

    et la déclaration du formbean est elle correcte ?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 179
    Par défaut
    Citation Envoyé par c_nvy
    Le fichier des messages est bien sous WEB-INF/classes ?
    Non il est sous WEB-INF/resources. Mais les messages s'affichent sans problème et cet affichage a toujours marché jusqu'à maintenant

    ton name name = "commFilterForm" est douteux à première vue (seconde vivi)

    (ca fait 4 ans que j utilise plus struts ca me fait pas de mal lol)

    et la déclaration du formbean est elle correcte ?
    Le name dans le tag action de struts-config réfère un ActionForm plus haut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form-bean
    			type="com.thalys.localys.web.form.message.CommFilterForm"
    			name="commFilterForm" />
    Pour information, le process marchait très bien (càd la CommFilterForm (ActionForm), le RefreshCommAction (Action)) avant que je décide de rajouter une deuxième action possible et que donc je change l'action en une LookUpDispatchAction...

  7. #7
    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
    Citation Envoyé par nicdo77
    Non il est sous WEB-INF/resources.
    S'il est sous WEB-INF/resources, il est donc automatiquement copié sous WEB-INF/classes/resources.
    Donc, pas de problème de ce côté-là.

    Tu as l'erreur avant l'affichage de la jsp ou lorsque tu cliques sur un des deux boutons ?

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

Discussions similaires

  1. Erreur Avec Interbase
    Par smokemon dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/10/2004, 07h24
  2. Erreur avec procédure LockWorkStation ...
    Par simonseztech dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h33
  3. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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