Запрос портлета JSR168 сокращает значение параметра после символа # - PullRequest
0 голосов
/ 21 сентября 2009

Один из параметров для ссылки действия выглядит так:

itemUrl = feedLink.html # xtor = RSS-3208

когда я выполняю следующий код в бэкэнде в processAction ():

String itemUrl = (String) request.getParameter("itemUrl");

, что я получаю следующее значение: feedLink.html

например. запрос сокращает значение itemUrl после символа #

escapeXml = "true" в файле .jsp не помогает.

Ответы [ 2 ]

1 голос
/ 21 сентября 2009

Что-либо после # в URL указывает местоположение на странице, которую должен отображать браузер; это не часть самого URL. Таким образом, если вам нужен фактический # в вашем URL, его нужно экранировать (если парсер действительно совместим).

Теоретически, вы можете анализировать весь URL-адрес, отправляемый вам вручную, но лучшим решением будет заставить абонента вашей страницы отправлять вам правильный URL-адрес (во-первых, URL, который представляет то, что они хотят , поскольку рассматриваемый вопрос действителен как таковой).

1 голос
/ 21 сентября 2009

Вы должны URI кодировать имена и значения параметров - ваша ссылка должна быть itemUrl = feedLink.html% 23xtor = RSS-3208 .

...