Duvida com VRaptor

5 respostas
T

Olá pessoal (especialmente para o pessoal da caelum… hahaha)
Estou com algumas duvidas sobre a forma como o VRaptor funciona…

Tenho um projeto aqui que foi desenvolvido parcialmente com esse framework…
Minha duvida é a seguinte…
No projeto, a logica está sendo chamada através de uma função javascript, que dá um comando de window.open passando o link para a logica… assim :

var url = contexto+"/relatorio.exportarXLSRelacaoRecibo.logic" window.open(url, 'relatorioRelacaoRecibo', 'menubar=no, status=no, toolbar=no, resizable=no, location=no')

Essa fuction esta em uma pagina JSP…
Queria saber se tem algum jeito de executar essa logica sem abrir uma janela… e mais… se posso retornar alguma coisa dessa logica. como uma string ou um numero, para poder trabalhar ela no proprio JSP… sendo dentro da function javascript (melhor pra mim) ou no JSP mesmo… precisava muito retornar alguma coisa para a propria pagina… e nao para uma nova pagina…

Acho q minha duvida está meio confusa… eu tento explicar melhor caso nao tenham me entendido… :wink:

5 Respostas

T

ta confusa mesmo…

1 - Se você não quer abrir outra janela, não faça "window.open"
2 - Pra pegar algum valor retornado de um logic tente usar EL. ${variavelretornada}

T

mas se eu nao der um window.open, como eu executo a .logic dentro do codigo javascript?
no JSP, acho q seria só colocar a logic em uma action… mas no JS eu nao sei como fzer…

Mas entao se eu chamar a logic no JSP e colocar uj retorno nela, eu posso capturar esse retorno?
Nao entendi como vou fazer a atribuição, uma vez q vc chama a logic mais ou menos assim :

Obrigado pela ajuda! Sou super junior… ta f0d@ de fazer

T

pra vc executar uma logic com JS faça

self.location = "componente.metodo.logic";
T

Thiagao, meu chara!
funfou cara… blza… agora ta abrindo tudo na mesma pagina…
tenho so mais uma duvida…
na minha logica, eu tenho um if e else… se cair no if, ele manda um relatorio pra pagina… e o user faz um download… isso ta funfando…
Agora… se cair no else, eu quero mandar alguma coisa pra tela… como q eu faço isso da logic? eu tenho acesso ao request e ao response… queria dar tipo um reload na pagina… e quando der o reload e lançar um alert…
tendeu? se bem q ia ficar ainda mais legal se eu fizesse isso sem reload né…

mas vc ja me ajudou demais… tks pela atenção e ajuda

T

Pessoal, tentei resolver o problema fazendo isso :

else{ log.debug("Relatório não retornou resultado com os parametros fornecidos."); request.setAttribute("relEmpty", "relEmpty"); RequestDispatcher rd = request.getRequestDispatcher(request.getContextPath()+"/relatorio.relacaoRecibo.logic"); rd.forward(request, response);

mas não está mandando para a pagina certa… estou escrevendo algo errado? Minha ideia era : se cair no else, eu seto um atributo no request, leio ele no jsp e trato no reload a msg de erro q eu quiser… acho q nao é a melhor das solucoes, mas pelo menos achei q ia funcionar…
Alguem tem alguma sugestão?

Obrigado!

Criado 14 de setembro de 2009
Ultima resposta 15 de set. de 2009
Respostas 5
Participantes 2