Fiz o seguinte código para finalizar um compromisso na minha página jsp. Observem o código logo abaixo de
e o link finalizar Agora:<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<title>Lista de Compromissos</title>
</head>
<body>
<script type="text/javascript">
function finalizaAgora(id){
$.get("finalizaCompromisso?id="+id);
}
</script>
<table>
<tr>
<th>Id</th>
<th>Descrição</th>
<th>Finalizado?</th>
<th>Data da Finalização</th>
<th></th>
<th></th>
</tr>
<c:forEach items="${compromissos}" var="compromisso">
<tr>
<td>${compromisso.id }</td>
<td>${compromisso.descricao }</td>
<c:if test="${compromisso.finalizado eq false}">
<td>Não Finalizado</td>
</c:if>
<c:if test="${compromisso.finalizado}">
<td>Finalizado</td>
</c:if>
<td><fmt:formatDate value="${tarefa.dataFinalizacao.time}"
pattern="dd/MM/yyyy" /></td>
<td><a
href="removeCompromisso?compromisso.id=${compromisso.id }">Remover</a>
<td><a href="mostraCompromisso?id=${compromisso.id }">Alterar</a>
<c:if test="${not compromisso.finalizado}">
<td><a href="#" onclick="finalizaAgora(${compromisso.id})">Finalizar
agora</a></td>
</c:if>
</tr>
</c:forEach>
</table>
</body>
</html>
Segue a action que que é chamada pela função finaliza do meu java script:
public class FinalizaCompromissoAction {
private Long id;
@Action(value = "finalizaCompromisso", results = { @Result(name = "ok", type = "httpheader", params = {
"status", "200" }) })
public String execute() {
System.out.println("Finalizando....");
new CompromissoDAO().finaliza(id);
return "ok";
}
public void setId(Long id) {
this.id = id;
}
}
Tudo está funcionando normalmente, mas gostaria que a página fosse recarregada ao clicar no link Finalizar Agora. Como devo proceder?
