11. september 2005 - 01:52 Der er 4 kommentarer og
1 løsning

JSP nullpointer exception

Hvad gør jeg galt her...er det mine request.setAttribute("liste", rs);  og request.getAttribute("liste");...der ikke funker???

<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page language="java" import="java.sql.*, mypackage8.*" %>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>untitled</title>
  </head>
  <body>
  <form action="MedlemsListeController" method="get">
  <%   
    int medlemId;
    String fornavn;
    String efternavn;
    String adresse;
    String telefon;
    String email;
    String sportsgrene;
  %>
      <table cellspacing="0" bordercolor="red" cellpadding="0" border="1" width="100%" bgcolor="Silver">
      <tr>
          <td>ID</td><td>Fornavn</td><td>Efternavn</td><td>Adresse</td><td>Telefon</td><td>E-mail</td><td>Tilknyttet</td>
      </tr>
  <%
    try
    {   
      ResultSet res = (ResultSet)request.getAttribute("liste");
      System.out.println("hej "+res);
      while (res.next())
      {
        int i = 1;
        medlemId = res.getInt(i++);
        fornavn = res.getString(i++);
        efternavn = res.getString(i++);
        adresse = res.getString(i++);
        telefon = res.getString(i++);
        email = res.getString(i++); 
        sportsgrene = res.getString(i++); 
  %>     
        <tr>
        <td><%=medlemId%></td><td><%=fornavn%></td><td><%=efternavn%></td><td><%=adresse%></td><td><%=telefon%></td><td><%=email%></td><td><%=sportsgrene%></td>       
        </tr>
  <%
      }           
    } 
    catch (SQLException e) {System.out.println(e);}     
    finally {}
  %>
  </table>
  </form>
  </body>
</html>

........................................................

package mypackage8;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.PrintWriter;
import java.io.IOException;

public class MedlemsListeController extends HttpServlet
{
  private static final String CONTENT_TYPE = "text/html; charset=windows-1252";
  private ConnectionFacade2 connect;
 
  public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
  }

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
  {
    connect = ConnectionFacade2.getInstance();
       
    int medlemId;
    String fornavn;
    String efternavn;
    String adresse;
    String telefon;
    String email;
    String sportsgrene;
   
    ResultSet rs = null;
   
    String query = "SELECT * FROM Gren";
    System.out.println(query);
    try
    {         
      rs = connect.executeQuery(query);
     
      while (rs.next())
      {
        int i = 1;
        medlemId = rs.getInt(i++);
        fornavn = rs.getString(i++);
        efternavn = rs.getString(i++);
        adresse = rs.getString(i++);
        telefon = rs.getString(i++);
        email = rs.getString(i++); 
        sportsgrene = rs.getString(i++);
        System.out.println(fornavn);
        request.setAttribute("liste", rs);
      }           
    } 
    catch (SQLException e)
    {(e.printStackTrace());}
     
    finally {}
  }
}

Ideen er at MedlemsListeController skal hente info i database og sende det tilbage til MedlemsListe.jsp, der skal vise det....


på forhånd tak.
Avatar billede arne_v Ekspert
11. september 2005 - 09:14 #1
du dør uden tvivl på ResultSet res = (ResultSet)request.getAttribute("liste");

fordi der ikke er en list i request'en
Avatar billede arne_v Ekspert
11. september 2005 - 09:17 #2
du får jo slet ikke kaldt din servlet først - den bliver først kaldt ved form submit

og derudover:
- bliver request ikke dlet mellem en for JSP og en submit servlet
- jeg kan slet ikke se submit button
Avatar billede arne_v Ekspert
11. september 2005 - 09:19 #3
hvis du sammenligner med http://www.eksperten.dk/artikler/743 eksmepel 6, så
bruger jeg kun servlet til INSERT men henter alle med en normal bean
11. september 2005 - 18:23 #4
hej Arne...er gået oveer til at benytte bean...hvilket virker fint

svar venligst....
Avatar billede arne_v Ekspert
11. september 2005 - 18:24 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester