Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 10-abr-2007, 16:28   #1 (permalink)
lvalenz ha deshabilitado el karma
 
Fecha de Ingreso: abril-2007
Ubicación: Stgo-Chile
Mensajes: 3
Pregunta JSTL - Codoficacion de Coma "," en URL

Estimados.. tengo el sgte problema:
necesito colocar una coma al crear una URL, pero al displayar es codificada a "%2C".
existe la alternativa de sobreescribir el resultado,,, pero porque ocurre??.. de que otra forma elegante se puede resolver para que no ocurra???

Aca esta el ejemplo:

Se solicita:
------------

--%><c:url var="CategoryDisplayURL" value="CategoryDisplay" scope=""><%--
--%><c:param name="langId" value="${langId}" /><%--
--%><c:param name="storeId" value="${WCParam.storeId}" /><%--
--%><c:param name="catalogId" value="${WCParam.catalogId}" /><%--
--%><c:param name="categoryId" value="${subCategory.categoryId}" /><%--
--%><c:param name="parent_category_rn" value="${topCategory.categoryId }" /><%--
--%><c:param name="top_category" value="${topCategory.categoryId}" /><%--
--%><c:param name="r_path" value="${ topCategory.categoryId}-,-${subCategory.categoryId}" /><%--
--%></c:url><%--



Como resultado se obtiene:
Notese que la COMA, "," ha sido cambiada a "%2C"

CategoryDisplay?langId=-5&storeId=10001&catalogId=40000000577&categoryId=1 349791&parent_category_rn=20096883&top_category=20 096883&r_path=20096883-%2C-1349791
lvalenz está desconectado   Responder Citando
Antiguo 10-abr-2007, 17:44   #2 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.519
Re: JSTL - Codoficacion de Coma "," en URL

¿Y que tiene de malo que la coma aparezca así?
GreenEyed está desconectado   Responder Citando
Antiguo 11-abr-2007, 09:06   #3 (permalink)
lvalenz ha deshabilitado el karma
 
Fecha de Ingreso: abril-2007
Ubicación: Stgo-Chile
Mensajes: 3
Re: JSTL - Codoficacion de Coma "," en URL

ocurre que se necesita enviar el URL como string, con la coma incluida para el contador de visitas de la pagina....
Entonces "%2C" es distinto a ","

Gracias por la respuestas.
lvalenz está desconectado   Responder Citando
Antiguo 11-abr-2007, 11:22   #4 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.519
Re: JSTL - Codoficacion de Coma "," en URL

Ummmm... investigando un poco....
La cuestion es que cuando quieres enviar una cadena como parametro, la especificación de los URLS (RFC 1738)[2] dice que los caracteres no permitidos han de ser codificados usando el "URL-encoding"[3]

De todas formas, ocurren dos cosas:
1.- En realidad la coma (,) no sería obligatorio que codificarla, ya que es uno de los caracteres permitidos. Según el RFC:
Cita:
"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."
2.- De todas formas, que la coma aparezca así no tendría que impedir en ningún caso que el programa que recibe la URL lo interprete correctamente, ya que enviarla codificada es totalmente legal, así que te debería funcionar igualmente. Citando la RFC de nuevo:
Cita:
...On the other hand, characters that are not required to be encoded
(including alphanumerics) may be encoded within the scheme-specific
part of a URL, as long as they are not being used for a reserved
purpose.
Si no te funciona, puedes "reclamar" al programa que recibe la URL que no esta tratando correctamente los URLs codificados segun el estandar, o puedes "indicar" a la libreria de tags que en realidad la coma no hace falta codificarla y ver si se puede configurar... Pero yo apostaría por que el que lo hace mal es el programa que recibe la URL, ya que no es obligatorio pero está permitido enviar la coma de esa forma.

Referencias:
[1]http://www.blooberry.com/indexdot/html/topics/urlencoding.htm
[2]http://www.rfc-editor.org/rfc/rfc1738.txt
[3]http://www.w3schools.com/tags/ref_urlencode.asp
GreenEyed está desconectado   Responder Citando
Antiguo 13-abr-2007, 08:41   #5 (permalink)
lvalenz ha deshabilitado el karma
 
Fecha de Ingreso: abril-2007
Ubicación: Stgo-Chile
Mensajes: 3
Re: JSTL - Codoficacion de Coma "," en URL

Gracias GreenEyed por tus respuestas.
Finalmente encontramos una alternativa (para responderle al cliente):

--%><c:set var="CategoryDisplayURL"><c:url value="CategoryDisplay"><%--
--%><c:param name="langId" value="${langId}" /><%--
--%><c:param name="storeId" value="${WCParam.storeId}" /><%--
--%><c:param name="catalogId" value="${WCParam.catalogId}" /><%--
--%><c:param name="categoryId" value="${category.categoryId}" /><%--
--%><c:param name="top_category" value="${WCParam.top_category}" /><%--
--%></c:url><c:out value="&r_path=${WCParam.top_category},${category. categoryId}"/></c:set><%--
--%><c:set property="texto" value="${category.description.name}" target="${stringUtil}" /><%--
--%><a href="<c:out value="${CategoryDisplayURL}" escapeXml="false" />" target="_top"

luego si vemos la URL, tenemos una hermosa coma ","
lvalenz está desconectado   Responder Citando
Antiguo 13-abr-2007, 08:58   #6 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.519
Re: JSTL - Codoficacion de Coma "," en URL

De todas formas el programa que trata la URL debería ser capaz de tratar la coma. Pero cuando no se puede tocar el otro programa... pues toca hacer estas cosas. Al menos teneis una solución
GreenEyed está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 03:17.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93