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

Servlets/JSP Java Discussion :

[JSP] if else


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2003
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 112
    Par défaut [JSP] if else
    bonjour a tous,
    (débutant) je voudrais faire un simple if else en jsp et j'y arrive pas.

    j'ai une fonction qui se connecte a une base.
    Si j'ai une réponse j'affiche "OK"
    Si j'en ai pas j'affiche "NOK"

    voici mon code.
    Je suis obligé de faire des %>...<%! pour afficher du html?
    j'ai essayé avec out.println et ca marche pas

    Merci d'avance pour votre aide

    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
    <%! void connect(String oracleURL, String username, String password, String query) {
                    Connection conn = null;
     
    try
       {    
     
                    Class.forName("oracle.jdbc.driver.OracleDriver");
            conn = DriverManager.getConnection(oracleURL,username,password);
                Statement stmt = conn.createStatement();
                ResultSet rs = stmt.executeQuery(query);
    %>
      <tr>
        <td>Oracle1</td>
        <td>xxx.xxx.xxx.xxx</td>
        <td>
    <%!
                    if(rs.next())
                    {
    %>
          OK</td>
        <%!
                    }
                    else
                    {
    %>
        NOK</td>
    <%!     
                    }
            }
            catch(SQLException e)
            {
          System.out.println("SQLException: " + e.getMessage() + "<BR>");
          while((e = e.getNextException()) != null)
             System.out.println(e.getMessage() + "<BR>");
            }
            catch(ClassNotFoundException e)
            {
            System.out.println("ClassNotFoundException: " + e.getMessage() + "<BR>");
            }
            finally
            {
     
    %>
      </tr>
      <%!
     
    //Clean up resources, close the connection.
          if(conn != null)
          {
             try
             {
                conn.close();
             }
             catch (Exception ignored) {}
          }
       }
    }
     
    %>

  2. #2
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    Plusieurs problèmes :

    - les Balises de scriptlet sont <%%> et non pas <%! %>
    - Creer une méthode (je pense en particulier à connect) directement dans une JSP n'est pas vraiment recommander (pas maintenable, difficilement débuggable) surtout que dans ton cas, elle n'est appelé nul par.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2003
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 112
    Par défaut
    Citation Envoyé par yolepro
    Plusieurs problèmes :

    - les Balises de scriptlet sont <%%> et non pas <%! %>
    - Creer une méthode (je pense en particulier à connect) directement dans une JSP n'est pas vraiment recommander (pas maintenable, difficilement débuggable) surtout que dans ton cas, elle n'est appelé nul par.
    merci pour tes conseils. (désolé, c'est vraiment les bases)

    si je met ma fonction dans les balises <% %>, ca ne fonctionne plus
    j'ai des erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Une erreur s'est produite à la ligne: 20 dans le fichier jsp: /portlets/TestView.jsp
    Erreur de servlet générée:
    Syntax error on token "(", ; expected
     
    Une erreur s'est produite à la ligne: 20 dans le fichier jsp: /portlets/TestView.jsp
    Erreur de servlet générée:
    Syntax error on token ",", ; expected
    sinon, pour la méthode, je ne sais pas en faire...

    Petite précision, cette jsp est en fait la méthode View d'une portlet qui est déployé dans un portail PLUTO (tomcat)

    ps: j'appel ma fonction plus bas dans ma jsp:
    <% connect("jdbc:oracle:thin:@xxx.xxx.xxx.xx:1521:oracle1","VAP","xxxxx","select * from dual");
    %>

  4. #4
    zev
    zev est déconnecté
    Membre expérimenté
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Par défaut
    apparemment il veut des ";" à la place des ","

  5. #5
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Bonsoir,

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("ClassNotFoundException: " + e.getMessage() + "<BR>");
    tu n'écris pas dans le flux html.

    Ce serais plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.println("ClassNotFoundException: " + e.getMessage() + "<BR>");
    Ca doit fonctionner

    Pour ce qui est de l'erreur, c'est pas vraiment lisible pour voir l'origine

    Ce qui me choque, c'est que tu écris une méthode. Donc <%! pourrait être adapté. Pourrait tu essayer d'écrire tout en scriptlet ?

    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
     
    <%! void connect(String oracleURL, String username, String password, String query) {
            Connection conn = null;
     
            try
            {       
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                    conn = DriverManager.getConnection(oracleURL,username,password);
                    Statement stmt = conn.createStatement();
                    ResultSet rs = stmt.executeQuery(query);
                    
                    out.println("<tr>\n<td>Oracle1</td>\n<td>xxx.xxx.xxx.xxx</td>\n<td>");
     
                    if(rs.next())
                    {
                            out.println("OK</td>");
                    }
                    else
                    {
                            out.println(" NOK</td>");       
                    }
            }
            catch(SQLException e)
            {
                    out.println("SQLException: " + e.getMessage() + "<BR>");
                    while((e = e.getNextException()) != null)
                            out.println(e.getMessage() + "<BR>");
            }
            catch(ClassNotFoundException e)
            {
                    out.println("ClassNotFoundException: " + e.getMessage() + "<BR>");
            }
            finally
            {
                    out.println("</tr>");
     
                    //Clean up resources, close the connection.
                    if(conn != null)
                    {
                            try
                            {
                                    conn.close();
                            }
                            catch (Exception ignored) {}
                    }
            }
    }
     
    %>
    P.S. : tu ne fermes jamais ton Statement ...

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2003
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 112
    Par défaut
    merci bcp pour vos conseils.
    mais je n'arrive pas a faire fonctionner les out.println.

    j'ai des erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Une erreur s'est produite à la ligne: 17 dans le fichier jsp: /portlets/TestView.jsp
    Erreur de servlet générée:
    out cannot be resolved
    voici mon début de jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <%@include file="Head.inc" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="java.util.List" %>
    <%@ page import="java.util.Enumeration" %>
    <%@ page import="java.util.Map" %>
    <%@ page import="javax.portlet.*" %>
    ....
    code html
    ....
    fonction connect de ricky81
    ....
    appel de la fonction connect

Discussions similaires

  1. If Else dans jsp
    Par Diablo_22 dans le forum Struts 1
    Réponses: 2
    Dernier message: 17/07/2008, 11h47
  2. [XSLT][JSP] solution technique pour cas typique
    Par Alix_10 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/09/2006, 13h09
  3. Erreur lors de l'execution d'un script jsp
    Par tuxor dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/08/2004, 12h35
  4. [JSP/Servlet] Outils pour developper?
    Par BenoitM dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/05/2004, 11h03
  5. problème JSP avec JBuilder et Weblogic 7
    Par viny dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/04/2003, 08h07

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