Frameset et page JSP

vbgarage Messages postés 14 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 24 janvier 2007 - 11 déc. 2006 à 14:12
vbgarage Messages postés 14 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 24 janvier 2007 - 18 déc. 2006 à 09:36
Bonjour,

Voilà mon problème : j'utilise une page JSP (SKU.jsp) pour afficher le contenu d'une base de données Oracle. Voilà le code de ma page jsp :




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">





<%@ page import= "util.Constant" %>



<HTML>
 
   
     <jsp:useBean id="SKU"
       class="util.MyList"
       scope="request"></jsp:useBean>



   <%@ page
      import     ="db.table.SKU"
      language   ="java"
      contentType="text/html; charset=ISO-8859-1"%>



      
   
       ----

      HostPartID |
     HostLocID |
     Sporadicity |
     Consumption |
     Frequency |
     StatFam |
     Age |
     CostGood |
     TurnOver |
      
   

   <%
       int vecLen = SKU.getCurseur().size();
    for(int i=0;i<vecLen;i++){
     SKU so = (SKU)SKU.getCurseur().elementAt(i);
   %>   
   
    ----

     <%=so.getHostPartID()%>,
     <%=so.getHostLocID()%>,
     <%=so.getSporadicity()%>,
     <%=so.getConsumption()%>,
     <%=so.getFrequency()%>,
     <%=so.getStatFam()%>,
     <%=so.getAge()%>,
     <%=so.getCostGood()%>,
     <%=so.getTurnOver()%>,
    
    <% } // fin de la boucle for %>
   
   

 
</HTML>

appelée avec la méthode suivante :






 /**
  * Method displaySKU will display some information according to product and
  * their platform. This information are stocked in SKU table.
  *
  * @param req
  * @param res
  */
 public void displaySKU(HttpServletRequest  req,
         HttpServletResponse res) {
  try {
   Statement stmt = con.createStatement();
   ResultSet rs = stmt.executeQuery("SELECT * FROM SKU");
   
   MyList list = new MyList();
   list.setCurseur(new Vector());
   
   while (rs.next()) {
    //
    list.getCurseur().addElement(
      new SKU (rs.getString( "HostPartID"),
         rs.getString( "HostLocID"),
      new Integer(rs.getInt( "Sporadicity")),
         rs.getString( "Consumption"),
         rs.getString( "Frequency"),
         rs.getString( "StatFam"),
      new Integer(rs.getInt( "Age")),
         rs.getString( "CostGood"),
         rs.getString( "TurnOver")));
   }
   rs.close();
   stmt.close();
   
   req.setAttribute("SKU", list);
   // Redirection to the JSP page
   try {
    getServletContext().getRequestDispatcher("/SKU.jsp").forward(req, res);
   } catch (ServletException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  } catch (SQLException e) {
   System.err.println("Exception SQL" + e);
  }
 }

Comme ceci tout marche très bien mais j'ai besoin d'implanter ma page jsp au sein d'une page où j'ai créé des framesets fixes; un à gauche sur lequel j'y placerai des boutons de commande et un en haut dans lequel je mettrai des informations sur la base de données. La page jsp de consultation étant dans l'espace libre restant. Voilà le code :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">



<html>



<FRAMESET COLS="175,*" FRAMEBORDER=0 cellpadding=0 cellspacing=0 marginwidth="0" marginheight="0" BORDER="false">
 
 <FRAME NAME="Menu" SRC="SKU_menu.html" FRAMEBORDER=0 cellpadding=0 cellspacing=0 SCROLLING=NO marginwidth="0" marginheight="0" BORDER="False">



            <FRAMESET rows="150, *" FRAMEBORDER=0 cellpadding=0 cellspacing=0 marginwidth="0" marginheight="0" BORDER="False">



                        <FRAME NAME="Header" SRC="SKU_header.html" cellpadding=0 cellspacing=0 marginwidth="0" marginheight="0" FRAMEBORDER=0 SCROLLING=NO BORDER="False">



                        <FRAME NAME="Content" SRC="SKU.jsp" cellpadding=0 cellspacing=0 FRAMEBORDER=0 marginwidth="0" marginheight="0" SCROLLING=AUTO BORDER="False">



            </FRAMESET>



</FRAMESET>



</html>

mais j'obtiens une erreur HTTP 500 de la part de TOMCAT (NullPointerException) !!!

Comment pourrais-je faire ?

Merci pour vos réponses ;-)

2 réponses

cs_physio Messages postés 26 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 3 février 2007 2
15 déc. 2006 à 22:17
Bonjour ,

J'ai pris le code avec les FrameSet et j'ai testé (avec un jsp avec un contenu simple) et cela fonctionne correctement
Donc je pense que le probleme vient du code de la jsp et non pas du frameset (peut etre de l'importation qui se trouve dans la jsp ?)

Le message d'erreur ne t'indique pas quel ligne fait defaut ?
verifie dans la servlet génerée la ligne correspondant a cette errreur

PH¥§íØ
0
vbgarage Messages postés 14 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 24 janvier 2007
18 déc. 2006 à 09:36
Bonjour Physio,

Oui c'est effectivement un problème avec l'import qui se trouve dans la JSP... j'utilise BEAN et c'est à cett ligne que le problème se présente ;-( Je pense que des données n'arrivent pas jusqu'a la JSP. (je crois qu'il s'agit du contexte ou quelque chose comme ça ...)

vbgarage
0
Rejoignez-nous