Flavu
Agosto 17, 2014, 3:05pm
#1
Boa tarde !!!
Estou tentando fazer um exercício de Ajax da apostila fj21 mas, não estou conseguindo alterar o conteúdo via Ajax.Teria que mudar o conteúdo de Finaliza Agora para Finalizado na Lista.
Se alguém puder me dar um força.
Fico grato.
No Spring-Context.xml coloquei a seguinte anotação
<mvc:default-servlet-handler/>
Minha Lista
[code]
<%@taglib uri=“http://java.sun.com/jsp/jstl/core ” prefix=“c”%>
<%@taglib uri=“http://java.sun.com/jsp/jstl/fmt ” prefix=“fmt”%>
<%@ page language=“java” contentType="text/html; charset=UTF-8"
pageEncoding=“UTF-8”%>
Insert title here
Criar nova tarefa
Id
Descrição
Finalizado ?
Data de Finalização
Remover
Alterar
${tarefa.id}
${tarefa.descricao}
Finalizado
Finalizar Agora !
<td><a href="removeTarefa?id=${tarefa.id}">Remover</a></td>
<td><a href="mostraTarefa?id=${tarefa.id}">Alterar</a></td>
</tr>
</c:forEach>
</table>
[/code]
Classe Controller
[code]
@Controller
public class TarefasController {
private final JdbcTarefaDao dao;
@Autowired
public TarefasController(JdbcTarefaDao dao) {
this.dao = dao;
}
@RequestMapping("novaTarefa")
public String form() {
return "tarefa/formulario";
}
@RequestMapping("finalizaTarefa")
public void finaliza(Long id,HttpServletResponse response){
dao.finaliza(id);
//model.addAttribute("tarefa",dao.buscaPorId(id));
//return "tarfa/finaliza";
response.setStatus(200);
}
}
[/code]
Classe DAO
@Repository
public class JdbcTarefaDao {
private final Connection connection;
@Autowired
public JdbcTarefaDao(DataSource dataSource) {
try {
this.connection =dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public void finaliza(Long id) {
if (id == null) {
throw new IllegalStateException("Id da tarefa não deve ser nula.");
}
String sql = "update tarefas set finalizado = ?, dataFinalizacao = ? where id = ?";
PreparedStatement stmt;
try {
stmt = connection.prepareStatement(sql);
stmt.setBoolean(1, true);
stmt.setDate(2, new Date(Calendar.getInstance().getTimeInMillis()));
stmt.setLong(3, id);
stmt.execute();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}