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 ©