Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: java beans

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    23

    java beans

    salve a tutti, ho un problema che mi sta dando davv noia; ho una pagina *.jsp che deve richiamare dei metodi di un bean che ho creato il problema è che nn gira ma nn riesco a capire dove sbaglio. vi posto il codice:

    codice:
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    <jsp:useBean id="studente" scope="page" class="project_beans.student_bean"/>
    <jsp:setProperty name="studente" property="QueryDBcorsi()"/>
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Scuola</title>
            <link rel="stylesheet" href="style.css" type="text/css">
        </head>
        <body>
            <h1>Scuola</h1>
            <jsp:getProperty name="studente" property="QueryDBcorsi()"/>
            
            
    
            
    
            <hr>
          </body>
    </html>
    il bean è il seguente
    codice:
    package project_beans;
    
    import java.sql.*;
    
    /**
     *
     * @author theduke
     */
    public class student_bean {
    
        private static final String url="*******";
        private static final String user ="***";
        private static final String pwd = "*****";
        private String result;
        
    
        public student_bean() {
    
        }
    
        public void setQueryDBcorsi() throws SQLException {
            
            result+=("<table border=\"2\" align=\"center\">");
            Connection c=DriverManager.getConnection(url, user, pwd);
            Statement st=c.createStatement();
            ResultSet rs=st.executeQuery("SELECT * FROM CORSI");
            while(rs.next()){
                result+=(("<tr>"));
                result+=("<td>"+rs.getString("ID")+"</td>"+"<td>"+rs.getString("NOME")+"</td>"+"<td>"+rs.getString("DOCENTE")+"</td>"+"<td>" +rs.getString("CREDITI")+"</td>");
                result+=("</tr>");
            }
            result+=("</table>");
            rs.close();
            st.close();
            c.close();
            
            }
    
        public String getQueryDBcorsi(){
            return result;
        }
    }
    vi prego aiutatemi...

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Che errori ottieni?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    23
    avvio la pagina e nel momento in cui cerco di caricare la pagina jsp mi appare una pagina con errore http status 500 exception org.apache.jasper.JasperExceptionwc6054:cannot find any information on property 'QueryDBcorsi()' in a bean of type 'project_beans.student_bean'

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da theduke
    codice:
    <jsp:getProperty name="studente" property="QueryDBcorsi()"/>
    codice:
    public void setQueryDBcorsi() throws SQLException {
    cannot find any information on property 'QueryDBcorsi()' in a bean of type 'project_beans.student_bean'
    Le specifiche JavaBean dicono che se una proprietà si chiama "nome" (n minuscolo) i metodi setter/getter devono essere setNome/getNome (N maiuscolo). Ok anche isNome se un boolean.


    setQueryDBcorsi()/getQueryDBcorsi() ----> property="queryDBcorsi"
    e senza ()

    Ah, e il tuo setQueryDBcorsi() non è un "vero" setter ... perché gli manca il parametro!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    23
    ho modificato quello che mi hai detto, cosa dovrei mettere come parametro del setter?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da theduke
    ho fatto le modifiche da te suggerite ed ora l'errore è diventato exception org.apache.jasper.JasperExceptionwc6053: can't find a method to write property 'queryDBcorsi' of type 'java.lang.String' in bean of type 'project_beans.student_bean'
    Forse non hai letto l'aggiunta finale che ho fatto: il tuo setQueryDBcorsi() non è un "setter" come inteso nei JavaBean.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    23
    ho letto la tua modifica, cosa dovrei passare come parametro il result?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da theduke
    ho letto la tua modifica, cosa dovrei passare come parametro il result?
    Hai comunque sbagliato approccio. Se vuoi fare un bean che "modella" i dati di uno studente ... ok. Ma allora dovrebbe solo avere i setter/getter per settare le sue proprietà.
    Query su DB dovresti farle altrove. Composizioni della pagina o di pezzi di pagina dovresti farle altrove (preferibilmente nella JSP).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    23
    però a quel punto dovrei mettere un sacco di codice java all'interno della jsp, nn rimane pesante?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da theduke
    però a quel punto dovrei mettere un sacco di codice java all'interno della jsp, nn rimane pesante?
    No, è proprio quello che dovresti evitare! Almeno cercare di separare logica/elaborazione il più possibile dalla "presentazione".

    Leggi questa discussione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.