Получить параметр с символом '#' из строки запроса на Java - PullRequest
0 голосов
/ 23 августа 2011

Я пытаюсь получить строку запроса, которая имеет символ #, и мой параметр получен только до #. Но дело в том, что мне нужен этот персонаж, я не могу его удалить.

Есть идеи?

Ответы [ 2 ]

5 голосов
/ 23 августа 2011

Кодируйте #, если оно должно быть там. Литеральный # обозначает идентификатор фрагмента и не может использоваться в URI для каких-либо других целей. В w3schools есть таблиц кодирования , поэтому вы также можете посмотреть значения самостоятельно.

1 голос
/ 23 августа 2011

Вам необходимо правильно кодировать значение параметра.

Если URL-адрес генерируется JSP, обязательно используйте тег JSTL c:url:

<c:url value="/path/to/myServlet">
    <c:param name="param1" value="#paramValue"/>
</c:url>

Если вы 'Если вы используете прямую Java, используйте URLEncoder.encode().

Если URL-адрес статический, используйте %23paramValue вместо #paramValue

...