Estou com uma dúvida na qual não consigo pensar em uma solução:
Todos sabemos que, o vraptor te deixa configurar as paginas a serem exibidas depois da execucao de um determinado método no arquivo Logic correspondente, ou seja, suponhamos que eu tenha um arquivo cliente/cadastro.ok.jsp e dentro dele, chame a action no form cliente.armazena.logic, ele ira procurar pela classe ClienteLogic, executar o método armazena, e se, tudo o correr bem, o arquivo cliente/armazena.ok.jsp que contem uma mensagem de sucesso da operação será chamada, caso contrario, posso chamar um arquivo cliente/armazena.falha.jsp, que contem a mensagem de erro.
Estes ainda, podem ser configurados no view.properties.
A duvida é: E quando eu estou trabalhando em um sistema todo com AJAX, onde requisições de páginas JAMAIS devem ser recarregadas com um refresh ? como posso fazer para que se eu receber um “ok” do metodo, chamar apenas uma funcao JS (no caso estou usando o Jquery Alerts), para mandar uma mensagem de sucesso ou falha atraves de uma caixa de dialogo (alert), sem recarregar NADA do conteudo ?
Acho que o mesmo conceito se aplicaria caso precise que o resultado de um determinado metodo, como uma lista com um resultado de busca por exemplo, apareça apenas na DIV determinada.
No Vraptor tem o @Remotable que retorna o resultado em Json e no jquery tem uma funcion load que da load em um metodo da logic sem dar refresh na pagina.
Eu ja tinha pensado nesse @Remotable mesmo, porem nunca mechi com JSON, como eu faria para tratar esse “ok” por exemplo no lado cliente, com o JQuery ?
hehehe a minha logica esta correta entao, minha duvida ficou mesmo na parte do cliente, jsp, porem com o que voce me passou, ja da para estudar e analizar como processar essa informação recebida.
Fico ainda com duas dúvidas baseado na sua resposta:
sua.getValorResultado.ajax.logic --> eu ja tinha visto algo assim na documentacao do Vraptor, mas confesso que não entendi o porque do Ajax estar ali antes da Logic. Qual a finalidade especifica dele estar ali ?
O ajax você coloca antes do logic sempre que você quiser usar um metodo que tenha um @Remotable, assim como você usa o logic para component (Class Logic) você usa ajax antes do logic para @Remotable…
noosaaaaa ficou claro???