Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JSP] Come fare un elenco di ResultSet?

    Salve,

    ho una classe CRUD che esegue, tra le altre cose, una select da un DB ed una Servlet che prende il ResultSet da questa classe e lo invia ad una JSP.
    In effetti se nella JSP eseguo:
    Codice PHP:
    <%= request.getAttribute("rs") %> 
    mi restituisce com.mysql.jdbc.ResultSet@15b44d6 il che significa che il passaggio, attraverso il dispatcher, avviene correttamente...ma se inserisco il seguente codice:
    Codice PHP:
    <%@ page import="java.sql.*" %>
    <%
    ResultSet rs request.getAttribute("rs");
    while(
    rs.next()){
      
    int numColumn rs.getMetaData().getColumnCount();
      for(
    int i=1<= numColumni++){
         
    out.println(rs.getObject(i));
      }
    }
    %> 
    mi restituisce il seguente errore:

    An error occurred at line: 17 in the jsp file: /ShowImage.jsp
    Type mismatch: cannot convert from Object to ResultSet
    15: <%@ page import="java.sql.*" %>
    16: <%
    17: ResultSet rs = request.getAttribute("rs");
    18: while(rs.next()){


    Qualche consiglio?
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JSP] Come fare un elenco di ResultSet?

    Originariamente inviato da matthew80
    Type mismatch: cannot convert from Object to ResultSet

    Qualche consiglio?
    Il consiglio te lo dà già il messaggio di errore. getAttribute restituisce un Object e tu vuoi fare un down-cast a ResultSet.
    Cosa fattibile a runtime poiché, come hai già verificato, l'oggetto che ti viene restituito è realmente un ResultSet. Ma devi fare un cast esplicito.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie,

    in effetti poco dopo aver postato il messaggio ci ho pensato e se faccio:
    Codice PHP:
    <% ResultSet rs = (ResultSetrequest.getAttribute("rs"); %> 
    non mi da l'errore...ma mi resta sempre il problema di come far vedere una lista di elementi a mo' di tabella nella JSP
    Anche volendo fare un semplice
    Codice PHP:
    <%= rs.getRow() %> 
    mi da errori...come se una volta ottenuto il riferimento ad un ResultSet non ne potessi poi usare i metodi non so
    Insomma, nel momento in cui in una JSP ho un riferimento ad un ResultSet, che altro non è che una select ad una tabella, come faccio poi a far vedere questi risultati nella mia JSP?
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  4. #4
    Anche volendo fare un semplice
    Codice PHP:
    <%= rs.getRow() %> 
    mi da errori...come se una volta ottenuto il riferimento ad un ResultSet non ne potessi poi usare i metodi non so
    Insomma, nel momento in cui in una JSP ho un riferimento ad un ResultSet, che altro non è che una select ad una tabella, come faccio poi a far vedere questi risultati nella mia JSP?
    Che errori sono?
    Devi sempre postare l'eccezione che ti viene sollevata, sennò capire così è un pò difficile.
    Cmq, hai controllato di includere tutto il necessario?

    Saluti

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da matthew80
    Insomma, nel momento in cui in una JSP ho un riferimento ad un ResultSet, che altro non è che una select ad una tabella, come faccio poi a far vedere questi risultati nella mia JSP?
    O usi librerie apposite (es. display tag) oppure mandi in output il codice HTML per la tabella "a manina" (mandare in output <table> <tr> <td> dove servono).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Ok...diciamo che per fare una prova, senza scomodare i vari <TABLE> e <TD> metto questo codice nella JSP:
    Codice PHP:
    <%@ page import="java.sql.*" %>
    <% 
    ResultSet rs = (ResultSetrequest.getAttribute("rs"); %>

    <%while(
    rs.next()){
      
    int numColumn rs.getMetaData().getColumnCount();
      for(
    int i=1<= numColumni++){
         
    out.println(rs.getObject(i));
      }
    } %> 
    Mi da il seguente errore:

    org.apache.jasper.JasperException: An exception occurred processing JSP page /Sh
    owImage.jsp at line 18

    15: <%@ page import="java.sql.*" %>
    16: <% ResultSet rs = (ResultSet) request.getAttribute("rs"); %>
    17:
    18: <%while(rs.next()){
    19: int numColumn = rs.getMetaData().getColumnCount();
    20: for(int i=1; i <= numColumn; i++){
    21: out.println(rs.getObject(i));


    Stacktrace: _


    Ovvio che una volta che ho capito dove sbaglio faccio i vari annidamenti di tag HTML per costruire la tabella...tu riesci a capire dove sta l'errore? il riferimento a ResultSet se lo prende tant'è che se metto
    <%= request.getAttribute("rs") %> non mi esce null bensì una strana stringa
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.