Passagem de parâmetros entre páginas com VRaptor

12 respostas
T

Boa noite,

Gostaria de saber como resolver o problema de passar parâmetros entre páginas, quando o mesmo contém espaços,
pois no servidor o parâmetro chega blz, mais quando é devolvido a próxima página ele vai apenas o primeiro valor, ignorando o resto.

12 Respostas

Lucas_Cavalcanti

como assim?

como vc tah passando esses parametros?

T

Lucas Cavalcanti:
como assim?

como vc tah passando esses parametros?

Na view:

No controller:

@Get("/correspondencias/{value}") public List<Correspondencia> search(String value){ this.result.include("value", value); }

Lucas_Cavalcanti

se vc quiser passar espaços na url, precisa substitui-los por + ou %20, senao nao eh url valida

T

No servidor?

Pegar os espaços e substituir por %20? Na view tenho que fazer alguma rotina para trocar esses valores por espaço?

Lucas_Cavalcanti

sim… se for via javascript vc tem que usar um encodeURLComponent()

se for no jsp se nao me engano tem um ${fn:encode(…)} que faz isso

T

Lucas Cavalcanti:
sim… se for via javascript vc tem que usar um encodeURLComponent()

se for no jsp se nao me engano tem um ${fn:encode(…)} que faz isso

Lucas eu encontrei esse aqui: fn:encode-for-uri, é uma função de uma biblioteca chamada XQuery, eh esse?

Lucas_Cavalcanti

o de javascript eh nativo, sem biblioteca…

vc preenche essa url no jsp mesmo, ou eh com interacao com o usuario?

T

Lucas Cavalcanti:
o de javascript eh nativo, sem biblioteca…

vc preenche essa url no jsp mesmo, ou eh com interacao com o usuario?

Na requisição faço uma interação com o usuario, na resposta que seria a segunda view, onde apresento o valor digitado na 1˚ view uso apenas jstl.

Lucas_Cavalcanti

o usuario digita em um campo de texto e clica em ok, dai vai pro controller e ele redireciona pra outro lugar?

T

A idéia era essa Lucas, mais já parei com essa firula toda, resolvi deixar um pouco mais simples.

Mas se você tem uma solução para esses detalhe, gostaria de saber qual é.

Obrigado.

Lucas_Cavalcanti

solução pra isso geralmente eh:

<form action="....../busca" method="get">
    <input type="text" name="texto" />
</form>

e no controller:

@Get("..../busca")
public void busca(String texto) {...}
T

Lucas Cavalcanti:
solução pra isso geralmente eh:

<form action="....../busca" method="get">
    <input type="text" name="texto" />
</form>

e no controller:

@Get("..../busca") public void busca(String texto) {...}

Foi o que eu fiz, obrigado.

Criado 16 de outubro de 2012
Ultima resposta 19 de out. de 2012
Respostas 12
Participantes 2