|
|||||||||||||||||
![]() |
|||||||||||||||||
Pràctica |
![]() |
Exercicis
|
|
|||||||||||||
Interactuant amb les pàgines web | |||||
A la darrera pràctica aprofitarem les capacitats d'enviar i rebre informació del nostre navegador ( a través dels mètodes request i response) per tal de fer actualitzacions de dades. Ho aplicarem a la gestió de préstecs de la nostra biblioteca. |
|||||
Desenvolupament de la pràctica | |||||
|
|||||
Modificacions a GestioLlibres.java per a marcar i desmarcar els llibres prestats. | |||||
![]() |
Modificarem, en primer lloc, el Java Bean
GestioLlibres.java per tal d'afegir-li
la capacitat d'actualitzar l'estat dels llibres respecte de la situació
de préstec. |
||||
|
|||||
Amb aquest mètode li direm
a Access que marqui a "true"
o "false" el camp enprestec
del llibre que tingui un codi numèric
determinat.
Les variables x i y d'aquesta consulta estan parametritzades. Les recollim de la declaració del mètode: public void setEnprestec(int llibre, boolean accio)i les passem a Access abans d'executar la consulta pregunta.setBoolean(1,accio); pregunta.setInt(2,llibre). Fem setXXXX, on XXXX és el tipus de dada que estem entrant i, entre parèntesis, posem el número d'ordre del paràmetre a la consulta, començant per l'1 i el valor concret que estem passant a la consulta. Ara hem de fer una pàgina JSP que cridi el mètode setEnprestec() cada vegada que algú ens torni un llibre o cada vegada que el donem en préstec. Una pàgina d'aquest tipus es pot fer seguint diferents estratègies. En una biblioteca en funcionament segurament faríem una pàgina per a identificar el llibre sobre el que treballem, ja sigui entrant el codi del llibre o una part del títol o l'autor. Aquesta pàgina ens portaria a una altra pàgina sobre la que fer el préstec un cop identificat el lector. Aquí farem una simplificació del procés: obrirem una pàgina que conté tots els llibres de la biblioteca amb un enllaç al costat que ens permet prestar o retornar el llibre. No filtrarem la llista ni anotarem el lector que s'emporta el llibre. Ho deixem per aquells/es que s'engresquin a programar una biblioteca real amb JSP. El codi de la pàgina és aquest. Després l'analitzarem. Ara creeu-lo amb un editor de text o de pàgines HTML, poseu-li el nom de prestar.jsp i deixeu-lo a c:/biblioteca: |
|||||
|
|||||
Si el Java
Bean s'ha compilat bé i no hem fet errors al crear la
pàgina JSP, el resultat al demanar
aquesta pàgina http://localhost/prestar.jsp
ha de ser com aquest:
Al costat de cada llibre tenim un enllaç amb l'opció de Prestar o Retornar el llibre. Si el piquem, s'executa l'acció. Repassem el codi de la pàgina des del començament: El primer que fem a la pàgina JSP és intentar llegir el paràmetre llibre que viatja amb l'objecte request de la pàgina web:
Un objecte request transporta en forma de cadena paràmetres que s'han creat dins d'un formulari o a través de la URL. En el nostre cas, la URL del nostre enllaç conté els paràmetres que necessitem:
Atenció! Cal vigilar que la URL del nostre enllaç no contingui espais en blanc! Si no, no funciona. Això s'aconsegueix mitjançant una distribució intel·ligent dels delimitadors <% i %> i dels canvis de línia. Si a l'obrir la pàgina
JSP existeix el paràmetre
llibre, això voldrà
dir que s'ha fet una petició d'actualització
de dades sobre un llibre. Si obrim la pàgina directament:
Si es dóna el cas que el paràmetre "llibre" conté un valor, hem d'actualitzar la base de dades abans de crear la llista de llibres que es representarà després a la pàgina. Hem d'esbrinar, doncs, què hem de fer amb el llibre en qüestió, donar-lo en préstec o retornar-lo. Aquesta informació viatja amb el paràmetre "accio". Al recollir aquest paràmetre, hem de fer una conversió de cadena al tipus boolean. Els objectes request transporten tota la informació en forma de cadena. Nosaltres hem de llegir aquesta cadena, passar-la al tipus boolean i conmutar-ne el valor (si un llibre té el camp enprestec a true el que hem de fer és passa-lo a false i a l'inrevés). Aquestes passes les fem totes alhora amb aquesta expressió:
Ara que ja sabem què hem de fer, executem el mètode del nostre Bean, que ens canvia l'estat del llibre a la base de dades:
Aquest és el conjunt d'accions a fer si obrim la pàgina des dels links dels llibres de la pròpia pàgina. Tot el codi que ve després s'executa sempre: creem la llista de llibres i la desenvolupem a la pàgina tot creant dinàmicament els enllaços al costat de cada llibre per a gestionar els préstecs. |
|||||
![]() |
Possiblement, la millor manera de moure la informació dels paràmetres entre pàgines web la tingueu en els formularis, els objectes "form" del llenguatge HTML. Podeu investigar sobre formularis en aquests cursos: D108 i D98. | ||||
![]() |
|||||