PDA

View Full Version : problema in una pagina jsp help


maridelsud
11-07-2014, 16:00
ciao a tutti, nel db ho una tabella Utente che ha come colonne:
Nome
cognome
codice fiscale
ruolo

posso avere 3 ruoli: bagnino, amministratore, utente.

poichè nel sito devo prevedere 3 interfacce ho creato un metodo che partendo dall'username dell'utente (univoco) si ricava il suo ruolo, cosi invoco il metodo nelle pagine jsp e con un if scelgo l'interfaccia.

il metodo è:

public boolean trovaRuolo(Utente u)
{
String username = u.getUsername();

Vector<String[]> result=DBconnection.getInstance().eseguiQuery("select * from utente where username=\""+ username +"\"");

String[] risultato= result.firstElement();
u.setRuolo(risultato[6]);


return (result.size() == 1);
}

questo codice l'ho testato e stampato con le junit e funziona. il codice nella pagina jsp è:

<%
String userid = request.getParameter("uname");

Utente u = new Utente();

UtenteDAO.getInstance().trovaRuolo(u);

System.out.println(ruolo);

%>

che invece mi sottolinea di rosso "ruolo" e se metto il cursore sopra dice:

ruolo cannot be resolved to a variable

come mai?

ndakota
11-07-2014, 17:58
Bé, quella variabile ruolo non è definita da nessuna parte no? E poi sei sicuro che vuoi che trovaRuolo restituisca un booleano (che comunque non stai gestendo come valore di ritorno), non un valore per verificare che tipo di utente è?

maridelsud
11-07-2014, 18:35
devo definire "ruolo" dentro la pagina jsp?
String ruolo;
cosi? mi da errore cmq

ndakota
12-07-2014, 14:17
Ragazzo, dovresti un attimo studiarti un po' di basi: funzioni, valori di ritorno, espressioni, variabili. Nel tuo caso non hai dichiarato la variabile ruolo. Per sistemare di basterebbe

boolean ruolo = UtenteDAO.getInstance().trovaRuolo(u);

prima della println incriminata e tutto dovrebbe andare. Però come detto ti restituirà un booleano, visto che hai fatto la funzione trovaRuolo così, e forse non è quello che ti serve.