lezione jsp pdatabase crud quintaparte

Post on 13-Jun-2015

917 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

gestione di una tabella associativa

TRANSCRIPT

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

top related