URL-адреса моих ссылок меняются

На моем веб-портале для некоторых пользователей (не для всех) при переходе по ссылке символы '&' становятся '+'.

Например, ссылка: www.mysite.com/test.jsp?param1=test1&param2=test2,

Тогда получается: www.mysite.com/test.jsp?param1=test1+param2=test2

Это происходит только для определенной страны (Бразилия). Другие мои порталы с таким же кодом работают корректно.

Я думал обработать запрос с помощью сервлета, и когда я вижу, что "+" заменить на "&", но я думаю, что это неправильное решение.

Есть идеи ?


person ftb    schedule 11.07.2014    source источник
comment
возможный дубликат Что такое допустимая строка запроса URL?   -  person laune    schedule 11.07.2014
comment
Возможно, вам придется соответствующим образом адаптировать синтаксический анализ строки запроса. Следует ознакомиться с цитируемым RFC, но в нем не говорится, что вы должны использовать & или не можете использовать +.   -  person laune    schedule 11.07.2014


Ответы (1)


Попробуйте использовать основной тег JSTL c:url

Этот тег автоматически выполняет перезапись URL, когда это необходимо. Тег URL-адреса JSTL — это просто альтернативный метод написания вызова метода response.encodeURL(). Единственное реальное преимущество, которое предоставляет тег url, — это правильная кодировка URL, включая любые параметры, указанные в теге Children param.

Образец кода:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:url value="/test.jsp" var="url">
    <c:param name="param1" value="test1" />
    <c:param name="param2" value="test2" />
</c:url>

<a href="${url }">Click Here</a>
person Braj    schedule 11.07.2014