Olá pessoal,
Tenho um arquivo JSP (cadastraveiculo.jsp) que recebe dados de um veículo e o coloca na sessão (a chave é a placa do veículo). Tenho também outro arquivo JSP (buscar.jsp), que além de buscar um veículo da sessão e apresentar os dados no formulário, permite a atualização dos dados deste veículo.
Acontece que tenho scriptlets pra resolver este problema, o que não é adequado. Como eu poderia substituir esses scriptlets por tags JSP de forma mais adequada para que as páginas fiquem limpas?
Segue o código dos dois arquivos.
cadastraveiculo.jsp
<jsp:useBean id="veiculo" class="beans.Veiculo" />
<jsp:setProperty name="veiculo" property="*" />
<%
if(request.getParameter("bt_cadastrar") != null){
String placa = request.getParameter("placa");
if(placa != null){
session.setAttribute(placa, veiculo);
}
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Veículos</title>
</head>
<body>
<h1>Cadastro de Veículo</h1><br/>
<form action="cadastraveiculo.jsp" method="POST">
<table>
<tr>
<td>Placa:</td>
<td><input type="text" name="placa" size="8"></td>
</tr>
<tr>
<td>Ano:</td>
<td><input type="text" name="ano" size="4"></td>
</tr>
<tr>
<td>Marca:</td>
<td><input type="text" name="marca" size="10"></td>
</tr>
<tr>
<td>Modelo:</td>
<td><input type="text" name="modelo" size="10"></td>
</tr>
<tr>
<td>Combustível:</td>
<td><select name="combustivel">
<option value="gas">Gás
<option value="gasolina">Gasolina
<option value="alcool">Álcool
</select>
</td>
</tr>
<tr>
<td>Único dono:</td>
<td><select name="unicoDono">
<option value="S">Sim
<option value="N">Não
</select>
</td>
</tr>
<tr>
<td>Descrição:</td>
<td>
<textarea rows="5" cols="30" name="descricao" />
</td>
</tr>
<tr>
<td colspan="2"> <input type="submit" name="bt_cadastrar" value="Cadastrar"></td>
</tr>
</table>
</form>
</body>
</html>
buscar.jsp
<%@ page import="beans.Veiculo" %>
<%
Veiculo v = new Veiculo();
String botaoBuscar = request.getParameter("bt_buscar");
if(botaoBuscar != null){
String placa = request.getParameter("placa");
if(placa != null){
v = (Veiculo)session.getAttribute(placa);
if(v == null){
v = new Veiculo();
}
}
}else if(request.getParameter("bt_alterar") != null){
String placa = request.getParameter("placa");
String ano = request.getParameter("ano");
String modelo = request.getParameter("modelo");
String marca = request.getParameter("marca");
String unicoDono = request.getParameter("unicoDono");
String combustivel = request.getParameter("combustivel");
String descricao = request.getParameter("descricao");
Veiculo veiculo = new Veiculo(placa, ano, modelo, marca, combustivel, unicoDono, descricao);
if(placa != null){
session.setAttribute(placa, veiculo);
}
}
%>
<jsp:useBean id="veiculo" class="beans.Veiculo" />
<jsp:setProperty name="veiculo" property="placa" value="<%= v.getPlaca() %>" />
<jsp:setProperty name="veiculo" property="ano" value="<%= v.getAno() %>" />
<jsp:setProperty name="veiculo" property="marca" value="<%= v.getMarca() %>" />
<jsp:setProperty name="veiculo" property="modelo" value="<%= v.getModelo() %>" />
<jsp:setProperty name="veiculo" property="descricao" value="<%= v.getDescricao() %>" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Busca de Veículos</title>
</head>
<body>
<h1>Busca de Veículo</h1><br/>
<form action="buscar.jsp" method="POST">
<table>
<tr>
<td>Placa:</td>
<td><input type="text" name="placa" size="8" value="<jsp:getProperty name="veiculo" property="placa"/>" ></td>
</tr>
<tr>
<td>Ano:</td>
<td><input type="text" name="ano" size="4" value="<jsp:getProperty name="veiculo" property="ano"/>"></td>
</tr>
<tr>
<td>Marca:</td>
<td><input type="text" name="marca" size="10" value="<jsp:getProperty name="veiculo" property="marca"/>"></td>
</tr>
<tr>
<td>Modelo:</td>
<td><input type="text" name="modelo" size="10" value="<jsp:getProperty name="veiculo" property="modelo" />"></td>
</tr>
<tr>
<td>Combustível:</td>
<td><select name="combustivel">
<option value="gas" <%if (v.getCombustivel().equals("gas")) out.println("selected"); %> >Gás
<option value="gasolina" <%if (v.getCombustivel().equals("gasolina")) out.println("selected"); %> >Gasolina
<option value="alcool" <%if (v.getCombustivel().equals("alcool")) out.println("selected"); %> >Álcool
</select>
</td>
</tr>
<tr>
<td>Único dono:</td>
<td><select name="unicoDono">
<option value="S" <%if (v.getUnicoDono().equals("S")) out.println("selected"); %> >Sim
<option value="N" <%if (v.getUnicoDono().equals("N")) out.println("selected"); %> >Não
</select>
</td>
</tr>
<tr>
<td>Descrição:</td>
<td>
<textarea rows="5" cols="30" name="descricao">
<jsp:getProperty name="veiculo" property="descricao"/>
</textarea>
</td>
</tr>
<tr>
<td> <input type="submit" name="bt_buscar" value="Buscar"></td>
<td> <input type="submit" name="bt_alterar" value="Alterar"></td>
</tr>
</table>
</form>
</body>
</html>
