VRaptor3 + JQuery [Resolvido]

Estou com dificuldade para fazer um ajaxForm!
O formulaŕio comun está dando certo!
Esse:

[code]

" method="POST">
"/> " onmouseover='imgComent1.src=""' onmouseout='imgComent1.src=""' />
Título:
Custo / Benefício:
Qualidade:
Facilidade:
Comentário:
teste
[/code] Style [code] .tituloComentario { font-family: tahoma; font-size: 15px; font-weight: bold; color: #339933; }

.textoComentario {
font-family: tahoma;
font-size: 11px;
}

.nomeTitularComentario {
font-family: tahoma;
font-size: 11px;
font-weight: bold;
color: #339933;
}

.atributoComentario {
font-family: tahoma;
font-size: 11px;
}

.avaliacaoComentario {
font-family: tahoma;
font-size: 12px;
font-weight: bold;
}

.inserirComentarioCampo {
font-family: tahoma;
font-size: 11px;
margin-right: 5px;
}

.inserirComentarioInput {
font-family: tahoma;
font-size: 12px;
width: 240px;
}

.comentarioInsiraAqui {
margin: 5px;
}

[/code]

Mais já esse form não está funcionando!

[code]

"/> " onmouseover='imgComent1.src=""' onmouseout='imgComent1.src=""' />
Título:
Custo / Benefício:
Qualidade:
Facilidade:
Comentário:
"/> " onmouseover='imgComent2.src=""' onmouseout='imgComent2.src=""'/>
[/code]

vc pode ser mais específico quanto ao erro, por favor?

ter que entender todo o código que vc passou pra descobrir o que está errado é meio chato

Acho que não está dando erro porque a function enviaComentario() nunca é chamada.
Tente mudar seu script para que ele seja acionado quando a ação de submit seja chamada:

<script>  
jQuery(document).ready(  
	jQuery("#formComentario").submit(function() {
		alert("Form acionado"); //Apenas para confirmar que está entrando na function
		var itensForm = jQuery('#formComentario').serialize();  
		jQuery.ajax({  
			url: '<c:url value="/comentarios"/>',  
			data: itensForm,  
			type: 'POST',  
			timeout: 1000,  
			success: function(msg){  
				jQuery("#comenteAqui").html(msg);  
			}  
		});  
	});  
);  
</script>

Não seria interessante atualizar o jQuery também?
Vi que está utilizando a versão 1.3, mas pelo que li, a versão 1.5 teve vários aprimoramentos nas requisições Ajax.

[]'s
Daniel

Funcionou desse jeito!

<script> jQuery(document).ready( function() { jQuery('#comenteAqui').hide(); } ); jQuery(document).ready( jQuery("#formComentario").submit(function() { alert("Form acionado"); //Apenas para confirmar que está entrando na function var itensForm = jQuery('#formComentario').serialize(); jQuery.ajax({ url: '<c:url value="/comentarios"/>', data: itensForm, type: 'POST', timeout: 1000, success: function(msg){ jQuery("#comenteAqui").html(msg); } }); }) ); </script>

e no FORM um <button type="submit">Teste</button>

E desse jeito tambem funcionou <script> jQuery(document).ready( function() { jQuery('#comenteAqui').hide(); } ); function enviaComentario() { alert("Form acionado"); var itensForm = jQuery('#formComentario').serialize(); jQuery.ajax({ url: '<c:url value="/comentarios"/>', data: itensForm, type: 'POST', timeout: 1000, success: function(msg){ jQuery("#comenteAqui").html(msg); } }); } </script>

<button onclick="enviaComentario()">Teste</button>

Mais eu tenho um verificador aki:

[code]function getInternetExplorerVersion() {
var rv = -1; // Return value assumes failure.
if (navigator.appName == ‘Microsoft Internet Explorer’) {
var ua = navigator.userAgent;
var re = new RegExp(‘MSIE ([0-9]{1,}[.0-9]{0,})’);
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}

		function checkVersion() {
			var ver = getInternetExplorerVersion();
			if (ver > -1) {
				if (ver < 9.0)
					return false;
			}
			return true;
		}
		
		jQuery(document).ready(
				function() {
					if(checkVersion()){
						addHover('a img');
						addHover('input[type=image]');
						jQuery('img').each(function() {
							if((jQuery(this).attr('onclick')!=undefined)&&(jQuery(this).attr('onclick')!='')){
								addHover(this);
							}
						});
					}
				}
		);[/code]

E deve ser aki o erro!
o <img width="0" height="0" src="<c:url value="/lojaVirtualPaginas/imagens/comentarioProdutos/enviar_comentario_hover.png"/>"/> <img id="imgComent2" style="cursor:pointer" src="<c:url value="/lojaVirtualPaginas/imagens/comentarioProdutos/enviar_comentario.png"/>" onmouseover='imgComent2.src="<c:url value="/lojaVirtualPaginas/imagens/comentarioProdutos/enviar_comentario_hover.png"/>"' onmouseout='imgComent2.src="<c:url value="/lojaVirtualPaginas/imagens/comentarioProdutos/enviar_comentario.png"/>"' onclick="enviaComentario()"/>
Não faz nada!

Bom, isso é outro problema.
Como o Lucas falou, tenta explicar melhor o que você está precisando.
Sua dúvida inicial era enviar por ajax, isso pelo visto foi resolvido.

[]'s
Daniel

talvez isso te ajude:

http://api.jquery.com/jQuery.browser/

e o que vc fez nos onmousehover, faça com css, é mais elegante

Bom está sim resolvido o envio mais não estou conseguindo resposta do atributo success

<script> jQuery(document).ready( function() { jQuery('#comenteAqui').hide(); } ); function enviaComentario() { var itensForm = jQuery('#formComentario').serialize(); jQuery.ajax({ url: '<c:url value="/comentarios"/>', data: itensForm, type: 'POST', timeout: 1000, success: function(msn){ jQuery('#comenteAqui').html(msn); } }); } </script>
Envia o form e salva, mais não executa o que está dentro do success:.
Vou postar aqui o Controller.

Eu também não estou conseguindo criar a data do momento da adição do comentário.
No modelo é Timestamp o meu campo data.

[code]@Resource
public class ComentariosController {
private final ComentarioDao dao;
private final Result result;

public ComentariosController(ComentarioDao dao, Result result) {
	this.dao = dao;
	this.result = result;
}
@Post
@Path("/comentarios")
public void adiciona(final Comentario comentario) {
	//comentario.setData((Timestamp) Calendar.getInstance().getTime());  Problema está aqui.
	comentario.calculaMedia();
	dao.salva(comentario);
}

}[/code]

jehffersson, uma dica: não crie os eventos javascript dentro do html, crie sempre via javascript, usando o jquery. Fica mais fácil de dar manutenção depois.
mesma coisa pra style: deixe tudo no css.

se vc coloca um alert dentro do success, ele executa?

vc também vai precisar retornar um false no método enviaComentário, pra prevenir que o form seja submetido. E esse enviaComentário deveria estar registrado no submit do form, e não no click do botão.

pq não usar $ ao invés de jQuery no javascript? fica bem mais legível e limpo ($(’#formComentario’)…)

no controller o problema é que Timestamp estende Date, mas vc não pode dar cast de um Date qualquer pra Timestamp. Tenta isso:

comentario.setData(new Timestamp(new Date().getTime()));

Algum motivo especial para usar Timestamp? se vc está usando JPA/Hibernate, vc pode usar Calendar, e anotar o campo com @Temporal(TIMESTAMP)

[]'s

Lucas muito obrigado eu passei o atributo data do Comentario de Timestamp para Calendar.
Mais agora está aparecendo isso:

16/03/2011 02:42:35 org.hibernate.validator.util.Version <clinit> INFO: Hibernate Validator 4.0.2.GA 16/03/2011 02:42:35 org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver. Criando Session........... Hibernate: select produto0_.id as id0_0_, produto0_.ativo as ativo0_0_, produto0_.categoria as categoria0_0_, produto0_.codigo as codigo0_0_, produto0_.descricao as descricao0_0_, produto0_.descricaoCompl as descrica6_0_0_, produto0_.estoque as estoque0_0_, produto0_.estoqueInicial as estoqueI8_0_0_, produto0_.estoqueMinimo as estoqueM9_0_0_, produto0_.freteGratis as freteGr10_0_0_, produto0_.garantia as garantia0_0_, produto0_.lancamento as lancamento0_0_, produto0_.marca as marca0_0_, produto0_.modelo as modelo0_0_, produto0_.nome as nome0_0_, produto0_.palavrasChaves as palavra16_0_0_, produto0_.pesoKg as pesoKg0_0_, produto0_.prazoDeEntrega as prazoDe18_0_0_, produto0_.preco as preco0_0_, produto0_.precoAntigo as precoAn20_0_0_, produto0_.precoDeCusto as precoDe21_0_0_, produto0_.principal as principal0_0_, produto0_.tamCubico as tamCubico0_0_, produto0_.valorDecrarado as valorDe24_0_0_, produto0_.vendaSemEstoque as vendaSe25_0_0_, produto0_.visitas as visitas0_0_ from Produto produto0_ where produto0_.id=? Hibernate: update Produto set ativo=?, categoria=?, codigo=?, descricao=?, descricaoCompl=?, estoque=?, estoqueInicial=?, estoqueMinimo=?, freteGratis=?, garantia=?, lancamento=?, marca=?, modelo=?, nome=?, palavrasChaves=?, pesoKg=?, prazoDeEntrega=?, preco=?, precoAntigo=?, precoDeCusto=?, principal=?, tamCubico=?, valorDecrarado=?, vendaSemEstoque=?, visitas=? where id=? Hibernate: select this_.id as id2_0_, this_.avaliacaoMedia as avaliaca2_2_0_, this_.comentario as comentario2_0_, this_.custoBeneficio as custoBen4_2_0_, this_.data as data2_0_, this_.facilidade as facilidade2_0_, this_.idProduto as idProduto2_0_, this_.nomeTitular as nomeTitu8_2_0_, this_.qualidade as qualidade2_0_, this_.titulo as titulo2_0_ from Comentario this_ where this_.idProduto=? 16/03/2011 02:42:37 org.apache.catalina.core.ApplicationDispatcher invoke GRAVE: Servlet.service() for servlet jsp threw exception javax.el.ELException: Cannot convert java.util.GregorianCalendar[time=1300252320000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Sao_Paulo",offset=-10800000,dstSavings=3600000,useDaylight=true,transitions=129,lastRule=java.util.SimpleTimeZone[id=America/Sao_Paulo,offset=-10800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay=15,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=1,endDay=15,endDayOfWeek=1,endTime=0,endTimeMode=0]],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=2,WEEK_OF_YEAR=12,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=75,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=2,HOUR_OF_DAY=2,MINUTE=12,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=0] of type class java.util.GregorianCalendar to class java.util.Date at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:470) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:194) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:971) at org.apache.jsp.WEB_002dINF.jsp.produtos.ver_jsp._jspx_meth_fmt_005fformatDate_005f0(ver_jsp.java:3379) at org.apache.jsp.WEB_002dINF.jsp.produtos.ver_jsp._jspx_meth_c_005fforEach_005f0(ver_jsp.java:3228) at org.apache.jsp.WEB_002dINF.jsp.produtos.ver_jsp._jspService(ver_jsp.java:1040) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:73) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:378) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at br.com.caelum.vraptor.core.DefaultStaticContentHandler.deferProcessingToContainer(DefaultStaticContentHandler.java:64) at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:80) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:674) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:462) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:401) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329) at br.com.caelum.vraptor.view.DefaultPageResult.defaultView(DefaultPageResult.java:67) at br.com.caelum.vraptor.interceptor.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:60) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:67) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:85) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:89) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23) at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92) at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58) at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:402) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:249) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Fechando Session........... 16/03/2011 02:42:37 org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet default threw exception br.com.caelum.vraptor.view.ResultException: org.apache.jasper.JasperException: javax.el.ELException: Cannot convert java.util.GregorianCalendar[time=1300252320000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Sao_Paulo",offset=-10800000,dstSavings=3600000,useDaylight=true,transitions=129,lastRule=java.util.SimpleTimeZone[id=America/Sao_Paulo,offset=-10800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay=15,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=1,endDay=15,endDayOfWeek=1,endTime=0,endTimeMode=0]],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=2,WEEK_OF_YEAR=12,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=75,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=2,HOUR_OF_DAY=2,MINUTE=12,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=0] of type class java.util.GregorianCalendar to class java.util.Date at br.com.caelum.vraptor.view.DefaultPageResult.defaultView(DefaultPageResult.java:69) at br.com.caelum.vraptor.interceptor.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:60) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:67) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:85) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:89) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23) at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92) at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58) at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:402) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:249) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.jasper.JasperException: javax.el.ELException: Cannot convert java.util.GregorianCalendar[time=1300252320000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Sao_Paulo",offset=-10800000,dstSavings=3600000,useDaylight=true,transitions=129,lastRule=java.util.SimpleTimeZone[id=America/Sao_Paulo,offset=-10800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay=15,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=1,endDay=15,endDayOfWeek=1,endTime=0,endTimeMode=0]],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=2,WEEK_OF_YEAR=12,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=75,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=2,HOUR_OF_DAY=2,MINUTE=12,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=0] of type class java.util.GregorianCalendar to class java.util.Date at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:427) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at br.com.caelum.vraptor.core.DefaultStaticContentHandler.deferProcessingToContainer(DefaultStaticContentHandler.java:64) at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:80) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:674) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:462) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:401) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329) at br.com.caelum.vraptor.view.DefaultPageResult.defaultView(DefaultPageResult.java:67) ... 52 more Caused by: javax.el.ELException: Cannot convert java.util.GregorianCalendar[time=1300252320000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Sao_Paulo",offset=-10800000,dstSavings=3600000,useDaylight=true,transitions=129,lastRule=java.util.SimpleTimeZone[id=America/Sao_Paulo,offset=-10800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay=15,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=1,endDay=15,endDayOfWeek=1,endTime=0,endTimeMode=0]],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=2,WEEK_OF_YEAR=12,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=75,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=2,HOUR_OF_DAY=2,MINUTE=12,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=0] of type class java.util.GregorianCalendar to class java.util.Date at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:470) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:194) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:971) at org.apache.jsp.WEB_002dINF.jsp.produtos.ver_jsp._jspx_meth_fmt_005fformatDate_005f0(ver_jsp.java:3379) at org.apache.jsp.WEB_002dINF.jsp.produtos.ver_jsp._jspx_meth_c_005fforEach_005f0(ver_jsp.java:3228) at org.apache.jsp.WEB_002dINF.jsp.produtos.ver_jsp._jspService(ver_jsp.java:1040) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:73) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:378) ... 66 more

E eu estou chamando o onclick da imagem.
Não entendi esse trecho![quote]
vc também vai precisar retornar um false no método enviaComentário, pra prevenir que o form seja submetido. E esse enviaComentário deveria estar registrado no submit do form, e não no click do botão. [/quote]
Um alert dentro do success, ele executa SIM.

a exception é pq o fmt:formatDate só funciona com Date…

pra usar com calendar é só fazer:

<fmt:formatDate value="${oCalendar.time}"/>

dentro do success, coloque um alert(msg). o que aparece?

existe um elemento com o id ‘#comenteAqui’ no html? vc tinha escondido ele (com o .hide()), vc precisa mostrar
(com o .show()), senão ele não aparece

Lucas! Muito obrigado mais uma vez!
Agora funcionou, e o código ficou assim!

[code][/code]

Dica: no success passe a function direto, sem o jQuery(…).ready

No <fmt… ficou assim:

(<fmt:formatDate value= "${comentario.data.time}" type= "both" timeStyle= "medium" dateStyle= "medium" />)

Lucas estava assim do jeito que vc falau, mais só funcionou depois que eu adicione o: jQuery(document).ready(function(msn) { //jQuery('#comentarioInsiraAqui').show('slow'); jQuery('#comenteAqui').html(msn); alert("Seu comentario foi enviado com sucesso! Atualize a página."); })