Pessoal estou com uma duvida boba, porem nao estou conseguindo fazer adicionar e listar na mesma pagina.
meu codigo esta assim.
o controller
package br.com.iw.simi.controller;
import java.util.List;
import br.com.caelum.vraptor.Delete;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.iw.simi.DAO.TerrenoDAO;
import br.com.iw.simi.modelo.Terreno;
@Resource
public class TerrenosController {
private final Result result;
private final TerrenoDAO dao;
public TerrenosController(TerrenoDAO dao, Result result) {
this.dao = dao;
this.result = result;
}
@Post
@Path("/terrenos")
public void adiciona(Terreno terreno) {
dao.adiciona(terreno);
result.redirectTo(TerrenosController.class).adiciona();
}
@Delete
@Path("/terreno/{id}")
public void remove(Integer id) {
Terreno terrenoParaRemover = dao.busca(id);
dao.remove(terrenoParaRemover);
result.redirectTo(TerrenosController.class).lista();
}
@Get
@Path("/terrenos/{id}")
public Terreno edita(Integer id) {
return dao.busca(id);
}
@Get
@Path("/terrenos/novo")
public void adiciona() {
}
@Get
@Path("/terrenos")
public List<Terreno> lista() {
return dao.lista();
}
}
e o jsp
<form id="form-terrenos" action="<c:url value="/terrenos" />" method="POST">
<fieldset>
<legend>Adicionar Terreno</legend>
<table>
<tr>
<td><label for = "terrenoM2">Área do terreno M2:</label></td>
<td><input id = "terrenoM2" class="required" minlength="0.1" type="text" name="terreno.terrenoM2" /></td>
</tr>
<tr>
<td><label for = "testadaMts">Testada Mts:</label></td>
<td><input id = "testadaMts" class="required" minlength="0.1" type="text" name="terreno.testadaMts" /></td>
</tr>
<tr>
<td><label for="usoTerreno">Uso do terreno:</label></td>
<td>
<select id="usoTerreno" class="required" name="terreno.usoTerreno">
<option value="1">Vago</option>
<option value="2">Construido</option>
<option value="3">Const. em and.</option>
<option value="4">Const. paralisada</option>
<option value="5">Outros</option>
</select>
</td>
</tr>
<tr>
<td><label for="benfeitorias">Benfeitorias:</label></td>
<td>
<select id="benfeitorias" class="required" name="terreno.benfeitorias">
<option value="1">Muro e calçada</option>
<option value="2">Só muro</option>
<option value="3">Só calçada</option>
<option value="4">Sem benfeitorias</option>
</select>
</td>
</tr>
<tr>
<td><label for="tipoPropriedade">Tipo de Propriedade:</label></td>
<td>
<select id="tipoPropriedade" class="required" name="terreno.tipoPropriedade">
<option value="1">Particular</option>
<option value="2">Municipal</option>
<option value="3">Estadual</option>
<option value="4">Federal</option>
<option value="5">Religioso</option>
<option value="6">Outros</option>
</select>
</td>
</tr>
<tr>
<td><label for="superficie">Superfície:</label></td>
<td>
<select id="superficie" class="required" name="terreno.superficie">
<option value="1">Normal</option>
<option value="2">Inundável</option>
<option value="3">Brejoso</option>
<option value="4">Sujeito a desmoronamento</option>
</select>
</td>
</tr>
<tr>
<td><label for="situacao">Situação:</label></td>
<td>
<select id="situacao" class="required" name="terreno.situacao">
<option value="1">Meio de quadra</option>
<option value="2">Esquina / + 1 Frente</option>
<option value="3">Encravado</option>
<option value="4">Vila / Servidão</option>
<option value="5">Beira de rio</option>
</select>
</td>
</tr>
<tr>
<td><label for="topografia">Topografia:</label></td>
<td>
<select id="topografia" class="required" name="terreno.topografia">
<option value="1">Plano</option>
<option value="2">Pouco acidentado</option>
<option value="3">Acidentado</option>
<option value="4">Muito acidentado</option>
</select>
</td>
</tr>
<tr>
<td><label for="nivelLog">Nivel Logradouro:</label></td>
<td>
<select id="nivelLog" class="required" name="terreno.nivelLog">
<option value="1">Aclive</option>
<option value="2">Declive</option>
</select>
</td>
</tr>
<tr>
<td><button type="submit">Adicionar</button></td>
</tr>
</table>
</fieldset>
</form>
<table width="99%" border="1" cellpadding="1" cellspacing="0">
<thead>
<tr>
<th>Terreno M2</th>
<th>Testada Mts</th>
<th>Uso</th>
<th>Benfeitorias</th>
<th>Propriedade</th>
<th>Superficie</th>
<th>Situacao</th>
<th>Topografica</th>
<th>Nivel Log.</th>
</tr>
</thead>
<tbody>
<c:forEach items="${terrenoList}" var="terreno">
<tr>
<td><c:url value="${terreno.terrenoM2}" /></td>
<td><c:url value="${terreno.testadaMts}" /></td>
<td><c:url value="${terreno.usoTerreno}"/></td>
<td><c:url value="${terreno.benfeitorias}"/></td>
<td><c:url value="${terreno.tipoPropriedade}"/></td>
<td><c:url value="${terreno.superficie}"/></td>
<td><c:url value="${terreno.situacao}"/></td>
<td><c:url value="${terreno.topografia}"/></td>
<td><c:url value="${terreno.nivelLog}"/></td>
</tr>
</c:forEach>
</tbody>
</table>
vlw desde já agradeço.