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 :

[struts][html:link] récuperer la valeur d'un attribut


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Par défaut [struts][html:link] récuperer la valeur d'un attribut
    bjr tt le monde

    j'ai un formulaire (page jsp : commande_commercant)ou l'utilisateur saisie des données, une fois les données saisis et validées avec le bouton <<Save>>, l'utilisateur clique sur le lien <<Ajouter les lignes de commandes>> pour aller à une page Jsp (ligne_commande) et continuer le travail. Dans la page ligne_commande j’ai besoin de récupérer la valeur id_commercant saisie dans la première page.

    Voici le code de la page jsp commande_commercant :


    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
    <%@ page language="java"%>
    <%@ 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" %>
    <html> 
    	<body>
    		<html:form action="commande_commercantEdit">
    		<table border="1">
    				<tbody>
    				<tr>
    					<td>id commande:</td>
    					<td><html:text property="id_commande_com" /></td>
    				</tr>				<tr>
    					<td>reference commande:</td>
    					<td><html:text property="reference_com" /></td>
    				</tr>
    	</tbody>
    			</table>
    			<html:hidden property="do" value="savecommande_commercant"/>	
     
    			<br>
     
    			<html:button property="back" 
    						 onclick="history.back();">
    						 Back
    			</html:button>
    			&nbsp;
     
    			<html:submit  property="add" 
    				 onclick="location.href='ligne_commercantEdit.do?do=addligne_commercant'">Save</html:submit>
     
     
    		 </tr>
    		 <html:link action="ligne_commercantEdit.do?do=addligne_commercant" 
    		   paramProperty="id_commande_com" 
    		   paramId="id_commande_com">Ajouter les lignes de commande
     
    		 </html:link>	
    		</html:form>						
    	</body>
    </html>
    dans l’action de ligne_commandeEditAction j’essaye de récupérer la valeur de l’id_commande avec la commande :
    Integer id = Integer.valueOf(request.getParameter("id_commande_com"));
    Mais la résultat est tjrs NULL

    Qlq’un peut m’aider svp
    Et merci d’avance

  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
    Essaie en rajoutant l'attribut paramName dans le tag html:link.
    Il doit être égal au nom du form-bean contenant la propriété id_commande_com.

  3. #3
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Par défaut
    oui je l'ai ajouté, mais un nouveau message d'erreur qui s'affiche :

    18:26:12,250 WARN [RequestProcessor] Unhandled Exception thrown: class java.lang.NumberFormatException
    18:26:12,250 ERROR [Engine] StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
    java.lang.NumberFormatException: null
    at java.lang.Integer.parseInt(Integer.java:415)
    at java.lang.Integer.valueOf(Integer.java:553)
    at ma.pcard.scrashcard.struts.action.Ligne_commercantEditAction.saveligne_commercant(Ligne_commercantEditAction.java:71)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:44)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:595)

  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
    at ma.pcard.scrashcard.struts.action.Ligne_commercantEditAction.saveligne_commercant(Ligne_commercantEditAction.java:71)
    Peux-tu montrer le code de la méthode saveligne_commerçant de ton Action Ligne_commercantEditAction ?

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Par défaut
    bjr c_nvy. voici le code :

    /**
    * Method saveligne_commercant
    * @param mapping
    * @param form
    * @param request
    * @param response
    * @return ActionForward
    */
    public ActionForward saveligne_commercant(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) {
    Ligne_commercantEditForm commercantEditForm = (Ligne_commercantEditForm) form;
    Integer id = Integer.valueOf(request.getParameter("id_commande_com"));
    System.out.print(id);
    try {
    InitialContext context = new InitialContext();
    Commande_comsessionHome commercantSessionHome = (Commande_comsessionHome)context.lookup(Commande_comsessionHome.JNDI_NAME);
    ma.pcard.scrashcard.session.interfaces.Commande_comsession bookSession = commercantSessionHome.create();
    commercantEditForm.setId_commande_com(id);
    bookSession.saveligne_commercant(commercantEditForm.getLigne_commercantValue());


    } catch (RemoteException e) {
    e.printStackTrace();
    } catch (NamingException e) {
    e.printStackTrace();
    } catch (CreateException e) {
    e.printStackTrace();
    }

    return mapping.findForward("showAdd");
    }

  6. #6
    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
    Mais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Integer id = Integer.valueOf(request.getParameter("id_commande_com"));
    ne peut pas marcher dans ta méthode saveligne_commerçant étant donné que c'est à l'appel de addligne_commerçant que tu passes le paramètre id_commande_com non ?

    Par contre, si j'ai bien compris, id_command_com est un attribut de ton formulaire Ligne_commercantEditForm.
    Donc pour récupérer l'id saisi dans le formulaire, faudrait plutôt faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int id = commercantEditForm.getId_commande_com() ;
    Un petit conseil : quand tu utilises Struts, il vaut mieux respecter les conventions de nommage java pour être certain que tout fonctionne bien.
    Par exemple, id_commande_com devrait plutôt s'appeler idCommandeCom, ta méthode saveligne_commerçant saveLigneCommercant, ton ActionForm LigneCommercantEditForm...

Discussions similaires

  1. [Struts] <html:link ...>
    Par khokho dans le forum Struts 1
    Réponses: 6
    Dernier message: 03/05/2006, 17h31
  2. [ JSP ] [ STRUTS ] <html:link> et <c:import>
    Par Houbbba dans le forum Struts 1
    Réponses: 7
    Dernier message: 27/04/2006, 14h13
  3. [struts][html:link] comment rajouter un attribut id ?
    Par Gromitou dans le forum Struts 1
    Réponses: 8
    Dernier message: 04/04/2006, 18h14
  4. [Struts] html:link et passage de paramètres
    Par nikalkal dans le forum Struts 1
    Réponses: 9
    Dernier message: 09/02/2006, 21h34
  5. Réponses: 10
    Dernier message: 27/08/2004, 11h55

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