Lezione jsp pdatabase crud quintaparte
-
Upload
silvano-natalizi-itis-alessandro-volta-perugia -
Category
Education
-
view
915 -
download
2
description
Transcript of Lezione jsp pdatabase crud quintaparte
Apr 13, 2023
Tutorial JSP database-quinta parte
Silvano Natalizi
Obiettivo della lezione
L’obiettivo di questa lezione è quello di creare una pagina web dinamica che ci consenta di associare ad un titolo di un libro i suoi autori.
La relazione tra titolo e autore è molti a molti. Di conseguenza abbiamo una tabella associativa fatta
dalla chiave esterna di titolo e da quella di autore. Questi due campi insieme costituiscono la chiave
primaria della tabella associativa: autore_titolo autore_titolo (autore_id,titolo_id)
Ipotesi di Interfaccia grafica Possiamo partire dalla pagina che
elenca i titoli. Aggiungiamo un link
“associa autori”
Modifichiamo IndiceTitolo.jsp
Otteniamo:
Cliccando il link, si chiede a Tomcat di eseguire la java server page AssociaAutori.jsp
e le si passa il valore della chiave primaria del titolo interessato
Cosa deve fare la AssociaAutori.jsp
Questa jsp deve mostrare una pagina web con il titolo selezionato per essere associato ai suoi autori e con una form avente la lista degli autori sotto forma di
checkbox Si selezionano i box degli autori e si sottomette il tutto al
programma di aggiornamento che inserisce le righe nella tabella associativa autore_titolo
Facciamolo.
AssociaAutore -1 prende il parametro id di titolo Legge il titolo con id Lo mostra nella pagina
AssociaAutore.jsp - 2 Legge la tabella autore Crea una form con la lista
selezionabile dei nomi degli autori tramite controllo checkbox
Interfaccia grafica di AssociaAutore.jsp
InserisciAutoriTitolo.jsp
questo programma deve anzitutto leggere l’array degli autori scelti dall’utente per associarli al titolo in lavorazione.
Come si fa?
String[] autori=request.getParameter(“autori[]”); ?
proviamolo
L’istruzione getParameter(…)
L’istruzione request.getParameter() non funziona perché restituisce un solo valore
In questo caso occorre una funzione che restituisca multipli valori tanti quanti i checkbox selezionati.
Occorre request.getParameterValues(“autori[]”);
prova
Va bene! possiamo completare il programma
Cosa rimane da fare?
Dobbiamo rileggere la tabella associativa autore_titolo Dobbiamo fare la join con autore e con titolo
join
Select titolo, nome from autore,titolo,autore_titolo
from autore_titolo, autore, titolo
where titolo_id=titolo.id and
autore_id=autore.id
order by titolo,autore
Interfaccia grafica
titolo1 autore1
autore2
---------------------------- titolo2 autore3
---------------------------- titolo3 autore3
autore4
-------------------------------
………………………….
The End