Laboratorio di sistemi Esercitazione compito 5V Jsp [JSTL] Vogliamo ordinare la tabella film_tbl (database film_db) usando una combo box (casella combinata) contenente i nomi dei campi colonna della tabella. Riportiamo per comodità la struttura della tabella All'atto del caricamento della pagina index.jsp, la tabella non riporta nessun ordine particolare. eserc_compito_ii_quadr_5v.doc Pag. 1/4 Cozzetto © Laboratorio di sistemi Esercitazione compito 5V Jsp [JSTL] La tabella ordinata per ID La tabella ordinata per Titolo eserc_compito_ii_quadr_5v.doc Pag. 2/4 Cozzetto © Laboratorio di sistemi Esercitazione compito 5V Jsp [JSTL] Segue codice (pagina index.jsp) <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> <style type="text/css"> <!-body,td,th { font-family: Trebuchet MS; font-size: 10pt; } --> </style> </head> <body> <h2>Lista film_tbl [JSTL]</h2> <sql:setDataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/film_db" user="root" password=""/> <form id="frmOrdina" name="frmOrdina" method="get" action="index.jsp"> <label>Ordina per <select name="optOrdina" id="optOrdina"> <option value="film_id">ID</option> <option value="titolo">Titolo</option> <option value="genere">Genere</option> <option value="luogo">Luogo</option> </select> </label> <input type="submit" value="Invio" name="btnInvio" /> </form> <c:choose> <c:when test="${!empty param.btnInvio}"> <sql:query var="result" > SELECT * FROM film_tbl ORDER BY ${param.optOrdina} </sql:query> </c:when> <c:otherwise> <sql:query var="result" > SELECT * FROM film_tbl </sql:query> </c:otherwise> </c:choose> eserc_compito_ii_quadr_5v.doc Pag. 3/4 Cozzetto © Laboratorio di sistemi Esercitazione compito 5V Jsp [JSTL] <br/> Numero di titoli disponibili: <c:out value="${result.rowCount}"/><br/><br/> <table border="0"> <tr> <th>Film ID</th> <th>Titolo</th> <th>Genere</th> <th>Luogo</th> </tr> <c:forEach items="${result.rows}" var="row"> <tr> <td><c:out value="${row.film_id}" /></td> <td><c:out value="${row.titolo}" /></td> <td><c:out value="${row.genere}" /></td> <td><c:out value="${row.luogo}" /></td> </tr> </c:forEach> </table> </body> </html> [Per le esercitazioni sulle reti si vedano gli esercizi disponibili sul sito del prof. Montessoro, www.montessoro.it] eserc_compito_ii_quadr_5v.doc Pag. 4/4 Cozzetto ©