Problemes sur encolade

Résolu
nitarak
Messages postés
17
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
19 juin 2021
- Modifié le 20 mars 2021 à 11:20
nitarak
Messages postés
17
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
19 juin 2021
- 20 mars 2021 à 14:46
Quelequ'un peut m'aider pour voir cette erreur...enfaite c'est vraiment une erreur très simple mais j'y arrive...c'est une erreur d'encolade.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import = "java.sql.*" %>
<%@ page import = "connection.*" %>
<%@ page import = "olona.*"%>
<%@ page import = "view.*"%>
<%@ page import = "ordre.*"%>
<%@ page import = "bd.BDTable" %>
<%@ page import="java.lang.*" %>
<%
 Liaison n= new Liaison();
 Connection con= n.getConnection();
 String nom=request.getParameter("Nchef");
 String password=request.getParameter("mdpChef");
%>
    <p><a href="login.jsp">Deconnecter </a></p>

 
<%
 try{


            Chef chef= new Chef();
            chef=new Chef(null,nom,password);
            BDTable[] tableC=chef.find(chef,con);
            chef= (Chef)tableC[0];
            String name=chef.getNom();
            String pswd=chef.getMdp();
           
           // out.println("Nom de broker :"+" "+nom);


            if(name.equals(nom) && pswd.equals(password))
            {
                    Ordre ordre= new Ordre();
           Ordre[] o= new Ordre[0];
           ordre= new Ordre(null,null,null,null,-1,-1,-1,null);
           BDTable[] tableO=ordre.find(ordre,con);
           o= new Ordre[tableO.length];
           for(int i=0;i<tableO.length;i++)
           {
            o[i]= (Ordre)tableO[i];
            
           }
%>

               
          <h1>Table de quotation</h1>
                <table  width='1000'  border ='1';>
                <%for(int i=0;i<o.length;i++) { %>
                    
                    <tr>
                        <th>Achat</th>
                        <th>Vente</th>
                    </tr>
                    <tr>
                        <td>
                      <% if(o[i].getType().equals("Achat")) {%>
                            <td>
                                <%
                                out.println("IdSociete :"+" "+o[i].getId_Societe());
                                out.println("Quantite:"+" "+o[i].getQuantite());
                                out.println("PrixSouhaiter :"+" "+o[i].getPrixSouhaiter());
                                %>
                            </td> <%
                            }else if(o[i].getType().equals("Vente")){%>
                         <td>
                                <%
                                out.println("IdSociete :"+" "+o[i].getId_Societe());
                                out.println("Quantite:"+" "+o[i].getQuantite());
                                out.println("PrixSouhaiter :"+" "+o[i].getPrixSouhaiter());
                                %>
                            </td>
                            }
                    </tr>
                <%}%>
                </table>
            }<%else out.println("Erreur");
       
        }catch(Exception e1){
            
         out.println(e1.getMessage());
     }
  
  finally
        {
         con.close();
        }

%>

Et voila l 'erreur:
Une erreur s'est produite à la ligne: [75] dans le fichier jsp: /S3/Bourse/quotation.jsp
Syntax error, insert "}" to complete Block
72: </td>
73: }
74: </tr>
75: <%}%>
76: </table>
77: }<%else out.println("Erreur");
78:

c'est en jsp
Merci d'avance de bien vouloir m'aider

3 réponses

hypothetix
Messages postés
24
Date d'inscription
dimanche 19 janvier 2020
Statut
Membre
Dernière intervention
9 mai 2022
5
20 mars 2021 à 14:07
Bonjour,

En ligne 73 il y a une accolade "}" qui n'est pas dans un scriptlet,
ca doit être une ou la source de l'erreur.

ps: C'est la premiere fois que je vois des "scriptlets" et ca donne pas envie d'en utiliser.

Courage.
1
nitarak
Messages postés
17
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
19 juin 2021

20 mars 2021 à 14:46
Merci beaucoup...et oui c'etait le source de l 'erreur.
0
KX
Messages postés
16527
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 mai 2022
124
20 mars 2021 à 11:29
Bonjour,

Ligne 77 tu devrais remplacer
}<%else
par
<%}else
sinon l'accolade est dans le code HTML au lieu d'être dans le code Java.

Remarque : mettre du code entre <% %> (que l'on appelle des scriptlets) c'est du très vieux Java, tu devrais regarder comment fonctionne la JSTL par exemple.
https://codes-sources.commentcamarche.net/source/100195-exemple-simple-d-application-jstl
0
nitarak
Messages postés
17
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
19 juin 2021

20 mars 2021 à 13:02
Merci beaucoup....mais j'ai encore cette erreur.


Une erreur s'est produite à la ligne: [77] dans le fichier jsp: /S3/Bourse/quotation.jsp
Syntax error, insert "}" to complete Statement
74: </tr>
75: <%}%>
76: </table>
77: <%}else out.println("Erreur");
78:
79: }catch(Exception e1){
80:
0
KX
Messages postés
16527
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 mai 2022
124
20 mars 2021 à 14:05
Je n'ai pas tout l'environnement pour tester, mais il est possible que Java ne prenne pas en compte le code entre <% %> si tu ne laisse pas d'espace pour marquer la fin des symboles.

Genre :
<%}%>
serait ignoré car il faudrait écrire
<% } %>
en séparant bien l'instruction JSP du code Java qu'elle contient.
0