Ciao a tutti,
avrei bisogno di un consiglio su come affrontare la programmazione di questo semplice programma, il file 'index.jsp' è un form che prende tre dati, passa questi dati a 'inserisciAlbum.jsp' che non fa altro che inseririre i dati del DB Mysql e presentare la tabella nel DB in formato tabellare a video sul navigatore.
Vorrei effettuare adesso dei controlli sui dati prima di inserirli nel DB, sarebbe opportuno, secondo voi:
considerare il fatto di scrivere la porzione di JSP <sql:update> e <sql:query> in un'altro file e importarlo nel file 'inserisciAlbum.jsp' con un tag <@ include file="scriviDB.jsp"> ?
Da questo nuovo file 'scriviDB.jsp' istanziare una classe che effettui i controlli sui dati appena inseriti PRIMA DI SCRIVERE SUL DB per effettuare tutte le verifiche?
Sarebbe meglio importare da un altro file anche la porzione di codice che è presente nei tag <c:forEach> sempre del file 'inserisciAlbum.jsp'?
Grazie,
Roberto
FILE: index.jsp
codice:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form action="inserisciAlbum.jsp" method="post">
<p>Nome album:<input type="text" name="nomeAlbum"></p>
<p>Nome artista:<input type="text" name="artista"></p>
<p>Supporto registrazione:<input type="text" name="supporto"></p>
<input type="submit" value="Invia">
</form>
</body>
</html>
FILE: 'inserisciAlbum.jsp'
codice:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Inserisci album</title>
</head>
<body>
<sql:update var="discoInserito" dataSource="jdbc/dischi">
INSERT INTO album (nomeAlbum, artista,supporto)
VALUES (?,?,?)
<sql:param value="${param.nomeAlbum}"/>
<sql:param value="${param.artista}"/>
<sql:param value="${param.supporto}"/>
</sql:update>
<sql:query var="result" dataSource="jdbc/dischi">
SELECT * FROM album
</sql:query>
<table border="1">
<!-- column headers -->
<tr>
<c:forEach var="columnName" items="${result.columnNames}">
<th><c:out value="${columnName}"/></th>
</c:forEach>
</tr>
<!-- column data -->
<c:forEach var="row" items="${result.rowsByIndex}">
<tr>
<c:forEach var="column" items="${row}">
<td><c:out value="${column}"/></td>
</c:forEach>
</tr>
</c:forEach>
</table>
</body>
</html>