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 :

Problème taille d'un String et checkbox coché


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Par défaut Problème taille d'un String et checkbox coché
    Bonjour à tous

    J'ai un problème au niveau de la taille d'un tableau de String. Ce tableau contient tous les identifiants de mes Joueurs qui sont inscrit dans une équipe et je les affiche dans ma jsp comme ceci
    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
    <TABLE border="0">
    		<TBODY>
    			<TR>
    				<TH>Id du joueur</TH>
    				<TH>Pseudo</TH>
    				<TH>Supprimer</TH>
    			</TR>
    			<logic:iterate id="id_joueurs_equipe_id" name="BeanEquipe" property="id_joueurs_equipe" indexId="index">
    				<%if(id_joueurs_equipe_id!=null){ %>
    				<TR>
    					<TD><bean:write name="BeanEquipe" property='<%= "id_joueurs_equipe[" + index + "]" %>' /></TD>
    					<TD><bean:write name="BeanEquipe" property='<%= "pseudo_joueurs[" + index + "]" %>' /></TD>
    					<TD><html:checkbox property='<%="chk["+index+"]"%>'></html:checkbox></TD>
    					<TD><input type="hidden" name="id_joueurs_equipe" value = <%="\""+id_joueurs_equipe_id+"\""%>/></TD>        
    				</TR>
    				<%} %>
    			</logic:iterate>
     
    		</TBODY>
    	</TABLE>
    	<html:submit property="submit" value="Modifier" />&nbsp;&nbsp;
    Lorsque je coche un joueur quelconque, celui ci sera supprimer lorsque je clic sur mon bouton pour aller dans mon formulaire.

    Le traitement s'effectue comme cela dans mon ActionForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int i=0;
            		while(id_joueurs_equipe[i]!=null){
            			check = (String) request.getParameter("chk["+i+"]");
            			if(check!=null){
            				int id_joueurs = Integer.parseInt(id_joueurs_equipe[i]);
                			JoueursDB player = JoueursDB.rechJoueursNum(id_joueurs);
            				player.setId_equipe(0);
            				player.modifier();
            			}
            			i++;
    Le problème c'est qu'il me renvoie toujours une exception quand il arrive à la valeur null du tableau
    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
    [3/01/08 10:25:27:188 CET] 0000002f ServletWrappe E   SRVE0068E: Impossible d'appeler la méthode service() sur le servlet action. Exception : java.lang.NullPointerException
    	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    	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:763)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
    	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
    	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
    	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
    	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
    	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
    	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
    	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
     
    [3/01/08 10:25:27:219 CET] 0000002f LocalTranCoor E   WLTC0017E: Ressources annulées car la méthode setRollbackOnly() a été appelée.
    [3/01/08 10:25:27:250 CET] 0000002f WebApp        E   SRVE0026E: [Erreur de servlet]-[action]: java.lang.NullPointerException
    	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    	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:763)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
    	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
    	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
    	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
    	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
    	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
    	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
    	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
    et j'ai remarqué également que si je coche la checkbox, il me retourne null également. Auriez-vous une solution à mon problème ?

    D'avance merci

  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
    Dans l'ActionForm, il faudrait définir la propriété chk de type String[] avec getter et setter et l'initialiser dans la méthode reset comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void reset(ActionMapping mapping, HttpServletRequest request)
    {
        this.chk=new String[0] ;
    }
    Ensuite, dans la jsp, il faudrait utiliser plutôt le tag html:multibox et l'initialiser avec la valeur de la propriété id_joueurs_equipe_id comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:multibox property="chk" value="${id_joueurs_equipe_id}"/>
    Et ensuite, dans l'Action exécutée au submit du formulaire, pour récupérer les id_joueurs_equipe_id cochés, tu pourrais coder ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TonActionForm tonActionForm = (TonActionForm) form ;
    String[] chk = tonActionForm.getChk() ;
    Sinon, j'ai une remarque concernant le logic:iterate.
    En principe, au lieu de créer plusieurs tableaux de String, on crée plutôt une ArrayList d'objets.
    Par exemple, tu pourrais constituer une ArrayList d'objets Joueur et l'afficher comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <logic:iterate id="joueur" name="nomDuBean" property="listeJoueurs">
       <bean:write name="joueur" property="id"/>
       <bean:write name="joueur" property="pseudo"/>
       <html:multibox property="chk" value="${joueur.id}"/>
    </logic:iterate>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Par défaut
    Ok j'ai testé pour les checkbox et ça me renvoie l'id du joueurs, ce qui n'est pas plus mal, mais j'ai toujours une exception javaNullPointer ici

    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
    int i=0;
            		while(check[i]!= null){
            			System.out.println("i = "+i);
            			System.out.println("check = "+check[i]);
            			if(check!=null){
            				int id_joueurs = Integer.parseInt(id_joueurs_equipe[i]);
                			System.out.println("id joueur de l'équipe = "+id_joueurs);
                			JoueursDB player = JoueursDB.rechJoueursNum(id_joueurs);
            				player.setId_equipe(0);
            				player.modifier();
            				System.out.println("Succes");
            			}
            			i++;
            			//System.out.println("id joueur suivant de l'équipe = "+id_joueurs_equipe[i]);
            		}
    Au lieu de sortir de la boucle, il me sort l'exception, et je ne comprends pas pourquoi. Une petite aide pour cela ?
    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
    [3/01/08 15:38:59:703 CET] 00000037 ServletWrappe E   SRVE0068E: Impossible d'appeler la méthode service() sur le servlet action. Exception : java.lang.NullPointerException
    	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    	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:763)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
    	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
    	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
    	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
    	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
    	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
    	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
    	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
     
    [3/01/08 15:38:59:750 CET] 00000037 LocalTranCoor E   WLTC0017E: Ressources annulées car la méthode setRollbackOnly() a été appelée.
    [3/01/08 15:38:59:766 CET] 00000037 WebApp        E   SRVE0026E: [Erreur de servlet]-[action]: java.lang.NullPointerException
    	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    	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:763)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
    	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
    	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
    	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
    	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
    	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
    	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
    	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    Ici je vais essayé d'envoyer la liste plutôt que les différents tableau String.

    EDIT : Pour l'ArrayList, il faut l'initialiser dans le bean ActionForm non ?

  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
    Normalement, avec ma méthode, tu ne devrais avoir que les id cochés dans le tableau chk et donc, tu ne devrais jamais avoir null.

    Sinon, pour constituer l'ArrayList, tu dois bien avoir une méthode qui ressemble à la méthode rechNom_nat citée dans la précédente discussion non ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Par défaut
    Ben là à vrai dire j'ai un peu du mal à suivre donc voilà, j'ai mis un peu de println un peu partout dans mon code pour afficher ce qu'il se passe dans la console donc voici le code que je fais
    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
    String[]check = beanEquipe.getChk();
            	System.out.println("taille = "+check.length);
    int i=0;
            		while(check[i]!= null){
            			System.out.println("i = "+i);
            			System.out.println("check = "+check[i]);
            			int id_joueurs = Integer.parseInt(check[i]);
                		System.out.println("id joueur de l'équipe = "+id_joueurs);
                		JoueursDB player = JoueursDB.rechJoueursNum(id_joueurs);
            			player.setId_equipe(0);
            			player.modifier();
            			System.out.println("Succes");
            			i++;
            			//System.out.println("id joueur suivant de l'équipe = "+id_joueurs_equipe[i]);
            		}
    Ce que j'obtiens dans la console :
    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
    [3/01/08 15:54:33:531 CET] 
    [3/01/08 15:54:33:562 CET] 00000036 SystemOut     O i = 0
    [3/01/08 15:54:33:562 CET] 00000036 SystemOut     O check = 8
    [3/01/08 15:54:33:562 CET] 00000036 SystemOut     O id joueur de l'équipe = 13
    [3/01/08 15:54:33:578 CET] 00000036 SystemOut     O Succes
    [3/01/08 15:54:33:578 CET] 00000036 ServletWrappe E   SRVE0068E: Impossible d'appeler la méthode service() sur le servlet action. Exception : java.lang.NullPointerException
    	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    	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:763)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
    	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
    	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
    	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
    	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
    	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
    	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
     
    [3/01/08 15:54:33:672 CET] 00000036 LocalTranCoor E   WLTC0017E: Ressources annulées car la méthode setRollbackOnly() a été appelée.
    [3/01/08 15:54:33:734 CET] 00000036 WebApp        E   SRVE0026E: [Erreur de servlet]-[action]: java.lang.NullPointerException
    	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    	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:763)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
    	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
    	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
    	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
    	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
    	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
    	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
    	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
    	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    Rien qu'en regardant je vois qu'il l'id_joueurs ne reçoit pas le bon id :s.

    Je n'ai pas encore changer le code de la jsp, mais c'est vrai que quand j'y pense, je devrai commencer par là pour mettre l'ArrayList. Sinon oui j'ai une méthode qui va chercher tous les joueurs qui sont dans cette équipe, mais je les mets dans un Vector (je travaille qu'avec ça depuis que j'ai appris le Java à l'école :/)

    Donc disons que j'aurais mon Vector liste_joueurs qui va contenir tous mes joueurs de l'équipe. Je l'envoie vers la jsp avec request.setAttribute("liste_joueurs",liste_joueurs);.

    Je veux afficher leur id et le pseudo dans la jsp, tu peux m'écrire plus ou moins le code que je dois mettre dans le jsp et je suppose qu'ensuite pour récupérer le tableau dans mon Action je dois faire un request.getAttribute("liste_joueurs");?

  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
    3/01/08 15:54:33:578 CET] 00000036 ServletWrappe E SRVE0068E: Impossible d'appeler la méthode service() sur le servlet action. Exception : java.lang.NullPointerException
    at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
    En regardant de plus près le message d'erreur, il semblerait que tu aies un problème de forward.
    Le nom du forward codé dans l'Action correspond-il bien à celui codé dans le mapping de l'Action dans le struts-config.xml ?

    Sinon, si tu as une méthode qui renvoie un Vector des joueurs qui sont dans l'équipe, ça fonctionnera aussi.

    Peux-tu montrer le code de cette méthode pour que je puisse t'aider à coder le logic:iterate de la jsp ?

    Tu as toujours le choix : soit tu fais un setAttribute de liste_joueurs (pour info, si tu suis les conventions de nommage Java, elle devrait plutôt s'appeler listeJoueurs), soit tu définis liste_joueurs comme propriété de l'ActionForm et tu l'initialises via le setter.

    Et pour récupérer le tableau des id cochés dans l'Action, je t'ai déjà donné le code précédemment, soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TonActionForm tonActionForm = (TonActionForm) form ;
    String[] chk = tonActionForm.getChk() ;

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

Discussions similaires

  1. Problème checkbox cochée ou pas
    Par dekalima dans le forum Langage
    Réponses: 15
    Dernier message: 07/02/2011, 15h00
  2. Radio et checkbox cochés problème impression sous ie
    Par yann0807 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 21/09/2009, 15h57
  3. problème our passer des string dans tableau d'int
    Par Battosaiii dans le forum C++
    Réponses: 9
    Dernier message: 15/07/2004, 17h42
  4. [TFileStream] Problème de lecture de string
    Par Pedro dans le forum Langage
    Réponses: 6
    Dernier message: 28/06/2004, 13h06
  5. [JDBC] Forcer la taille d'une string
    Par julio123 dans le forum JDBC
    Réponses: 4
    Dernier message: 10/06/2004, 09h43

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