O meu codico não compila, lança a seguinte exeption:
HTTP Status 500 - org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/produto/lista.jsp at line 35
type Exception report
message org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/produto/lista.jsp at line 35
description The server encountered an internal error that prevented it from fulfilling this request.
exception
br.com.caelum.vraptor.view.ResultException: org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/produto/lista.jsp at line 35
32: <td width="20%">Remover?</td>
33: </tr>
34: <c:forEach var="p" items="produtoList" varStatus="st">
35: <tr id="produto${p.id}">
36: <td>${st.count}</td>
37: <td>${p.nome}</td>
38: <td>${p.preco }</td>
Stacktrace:
br.com.caelum.vraptor.view.DefaultPageResult.forward(DefaultPageResult.java:69)
br.com.caelum.vraptor.extra.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:59)
...
root cause
javax.el.PropertyNotFoundException: Property 'id' not found on type java.lang.String
javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:268)
javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:221)
javax.el.BeanELResolver.property(BeanELResolver.java:355)
...
Aqui esta o código:
<%@page import="br.com.caelum.produtos.modelo.Produto"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<head>
<script type="text/javascript" src="<c:url value="/js/jquery.js"/>"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
function removeProduto(id){
$("#mensagem").load('<c:url value="/produto/remove"/>' + '?produto.id=' + id);
$("#produto" + id).remove();
}
</script>
<h1>Produtos</h1>
<div id="mensagem"></div>
<table width="100%">
<tr>
<td>No.</td>
<td width="20%">Nome</td>
<td>Preco</td>
<td>Descricao</td>
<td>Data de Inicio da Venda</td>
<td>Usado?</td>
<td width="20%">Remover?</td>
</tr>
<c:forEach var="p" items="produtoList" varStatus="st">
<tr id="produto${p.id}">
<td>${st.count}</td>
<td>${p.nome}</td>
<td>${p.preco }</td>
<td>${p.descricao}</td>
<td>${p.dataInicioVenda.time}</td>
<c:choose>
<c:when test="${p.usado}">
<td>Sim</td>
</c:when>
<c:otherwise>
<td>Nao</td>
</c:otherwise>
</c:choose>
</tr>
</c:forEach>
</table>
<a href="/produtos/produto/formulario">Adicionar um produto</a>
</body>
</html>
Ainda nao sei qual é a solução!