URL Encoding

2 respostas
C

Boa Noite pessoal,

Andei pesquisando no forum sobre url encoding e encontrei mta discusão sobre qual encoding usar nas páginas, mas o problema que eu tenho não é esse… hehe… Seguinte eu preciso passar por uma url um site, por exemplo:

http://localhost:8080/teste/Redirect.do?l=4&u=87897&url=www.xyz.com/livro.asp?tema=2&tipo=2&clsprd=L&id=.605019&orn=HP

Considerando que essa parte em negrito é uma unica variavél e não várias, como que eu faço para tornar ela uma unica variavel?

Fiz os seguintes testes :

URI uri = URI.create("www.xyz.com/livro.asp?tema=2&tipo=2&clsprd=L&id=.605019&orn=HP"); uri.toASCIIString()

essa função toASCIIString e o próprio toString do objeto me retornam a mesma string que passei como parametro.

Vi exemplos também que era para usar o URLEncoding do objeto HttpServletResponse, mas esse código que eu possuo executa dentro de uma taglib, onde eu nào tenho acesso ao objeto HttpServletResponse. Só tenho acesso ao objeto ServletResponse e este pro sua vez não tem o que eu necessito.

Alguém tem uma ideia de como resolver este problema?

Muito Obrigado

2 Respostas

Rafael_Steil

Utilize o metodo encode() da classe URLEncoder

Rafael

C

Fiz isso aqui:

String s = URLEncoder.encode("www.xyz.com/livro.asp?tema=2&tipo=2&clsprd=L&id=.605019&orn=HP", "UTF-8"); System.out.println("ENCODE = " + s); //ENCODE = www.xyz.com%2Flivro.asp%3Ftema%3D2%26tipo%3D2%26clsprd%3DL%26id%3D.605019%26orn%3DHP System.out.println("DECODE = " + URLDecoder.decode(s, "utf-8")); //DECODE = www.xyz.com/livro.asp?tema=2&tipo=2&clsprd=L&id=.605019&orn=HP

Funcionou certinho. Muito Obrigado.

Criado 10 de outubro de 2007
Ultima resposta 11 de out. de 2007
Respostas 2
Participantes 2