bonjour tous le monde
j'ai le code suivant :
voici ma 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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 <%@ page language="java" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <layout:html> <head> <title>Rechercher réception</title> <layout:skin includeScript="true"/> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script> function setHidden(value){document.rechercheForm.hidden.value=value;} </script> </head> <body> <center> <layout:img src="../images/entete.JPG"/> <layout:dynMenu config="MainMenu" includeScript="true" left="100" top="150"> <layout:menuItem key="Mouvements"> <layout:menuItem key="Réception"> <layout:menuItem key="Ajouter réception" page="/preparRecep.do"></layout:menuItem> <layout:menuItem key="Visualiser" page="/recherche.do"></layout:menuItem> </layout:menuItem> <layout:menuItem key="Packaging"> </layout:menuItem> </layout:menuItem> </layout:dynMenu> <hr> <br/><br/> <layout:form action="/recherche1.do" method="post"> <layout:text property="hidden" value="default" mode="H,H,H"></layout:text> <table border="1" bordercolor="#000000" bgcolor="#c0c0c0 " width="527"> <tr> <td height="27" colspan="4" bgcolor="#c08080">Rechercher des réceptions:<br></td> </tr> <tr> <td height="27" colspan="4" bgcolor="#c08080"><h4>Veuillez introduire au moins un des critères suivants :</h4><br></td> </tr> <tr> <td bgcolor="#c0c0c0"><layout:text property="nrec" key="Numéro de réception :"></layout:text> </td> </tr> <tr> <td bgcolor="#c0c0c0"><layout:select property="fournisseur" key="Fournisseur :"> <layout:option value=""></layout:option> <layout:options property="nomFournisseur"></layout:options> </layout:select></td> </tr> <tr> <td bgcolor="#c0c0c0"><td bgcolor="#c0c0c0"><layout:select property="warehouse" key="Warehouse :"> <layout:option value=""></layout:option> <layout:options property="nomWarehouse"></layout:options> </layout:select></td> </tr> <tr> <td bgcolor="#c0c0c0"> <layout:date property="dat_rec_du" key="Date Du :" endYear="2020" startYear="1999" patternKey="dd/MM/y" calendarTooltip="Choisir la date debut" ></layout:date> </td> </tr> <tr> <td bgcolor="#c0c0c0"> <layout:date property="dat_rec_au" key="Date Au :" endYear="2020" startYear="1999" patternKey="dd/MM/y" calendarTooltip="Choisir la date fin" ></layout:date> </td> </tr> <tr> <td bgcolor="#c0c0c0"><CENTER><html:submit onclick="setHidden('Rechercher');">Rechercher</html:submit></CENTER></td> <td bgcolor="#c0c0c0"><CENTER><html:submit onclick="setHidden('Réinitialiser');">Réinitialiser</html:submit></CENTER></td> </tr> </table> </layout:form> </center> </body> </layout:html>
le form:
voici l'action qui traite les boutton reinitialiser et rechercher, elle est de type dispatchAction, j'ai un probleme dans la methode rechercher:
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119 /* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.yourcompany.struts.form; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * MyEclipse Struts * Creation date: 07-26-2008 * * XDoclet definition: * @struts.form name="rechercheForm" */ public class RechercheForm extends ActionForm { private String nrec; private String fournisseur; private List nomFournisseur; private String warehouse; private List nomWarehouse; private String dat_rec_du; private String dat_rec_au; private String hidden; public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub return null; } /** * Method reset * @param mapping * @param request */ public void reset(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub } public void setNrec(String nrec) { this.nrec = nrec; } public String getNrec() { return nrec; } public void setFournisseur(String fournisseur) { this.fournisseur = fournisseur; } public String getFournisseur() { return fournisseur; } public List getNomFournisseur() { return nomFournisseur; } public void setNomFournisseur(List nomFournisseur) { this.nomFournisseur = nomFournisseur; } public void setWarehouse(String warehouse) { this.warehouse = warehouse; } public String getWarehouse() { return warehouse; } public List getNomWarehouse() { return nomWarehouse; } public void setNomWarehouse(List nomWarehouse) { this.nomWarehouse = nomWarehouse; } public void setDat_rec_du(String dat_rec_du) { this.dat_rec_du = dat_rec_du; } public String getDat_rec_du() { return dat_rec_du; } public void setDat_rec_au(String dat_rec_au) { this.dat_rec_au = dat_rec_au; } public String getDat_rec_au() { return dat_rec_au; } public void setHidden(String hidden) { this.hidden = hidden; } public String getHidden() { return hidden; } }
quand le champs res est different de null la requete s'exécute le plus normalement du monde, mais quand il est égale à null il ne rentre pas dans le else mais il m'affiche l'erreur suivante:
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 public ActionForward Rechercher(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException, SQLException { RechercheForm rechercheForm = (RechercheForm) form; String set,dateDu,dateAu,four,mag,txt,txt1,txt2,requette = null; Connexion connexion=new Connexion(); Connection con=connexion.createConnection(); Statement st,st1 = null; ResultSet rs,rs1 = null; set = rechercheForm.getNrec(); System.out.println(set); four = rechercheForm.getFournisseur(); System.out.println(four); mag = rechercheForm.getWarehouse(); dateDu = rechercheForm.getDat_rec_du(); dateAu = rechercheForm.getDat_rec_au(); st=con.createStatement(); if (set != null) { txt = set.substring(0,3); System.out.println("txt="+txt); txt1 = set.substring(4,7); System.out.println("txt1="+txt1); txt2 = set.substring(8); System.out.println("txt2="+txt2); rs = st.executeQuery("select trans_no,trans_type,gss_transaction.whs_id,dest_nom,whs_adresse,trans_date,act_name from gss_transaction, gss_warehouse, gss_actor, gss_destinataire where (gss_transaction.whs_id = gss_warehouse.whs_id) and (gss_transaction.act_id = gss_actor.act_id) and (gss_transaction.dest_id = gss_destinataire.dest_id) and (gss_transaction.trans_type='"+txt+"') and(gss_transaction.whs_id='"+txt1+"') and(gss_transaction.trans_no='"+txt2+"')"); while (rs.next()) { System.out.println("["+rs.getString(1)+"],["+rs.getString(2)+"],["+rs.getString(3)+"],["+rs.getString(4)+"],["+rs.getString(5)+"],["+rs.getString(6)+"],["+rs.getString(7)+"]"); } } else { System.out.println("dans le else"); } return null; }
pouvez-vous m'aider SVP
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 exception javax.servlet.ServletException: String index out of range: 3 org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) javax.servlet.http.HttpServlet.service(HttpServlet.java:710) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) cause mère java.lang.StringIndexOutOfBoundsException: String index out of range: 3 java.lang.String.substring(Unknown Source) com.yourcompany.struts.action.Recherche1Action.Rechercher(Recherche1Action.java:104) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274) org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) javax.servlet.http.HttpServlet.service(HttpServlet.java:710) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)![]()
Partager