значение хеш-функции для якоря, так что это только на стороне клиента, он часто используется в клиентской стороне рамки, как угловые для маршрутизации на стороне клиента.
Якорь НЕ доступен на стороне сервера.
В вашем случае вам не нужен якорь, но значение параметра с # сломает строку запроса, это значение «Журнал транзакций № 459505».
EDIT Наивное решение, которое не работает, только пусть это þér для истории, см Настоящее решение ниже
Решение для кодирования на стороне клиента и расшифровывает Serveur стороне
Кодирование в JavaScript
encodeURI("Transaction Log #459505")
//result value "Transaction%20Log%20#459505"
Decode в Java
java.net.URLDecoder.decode("Transaction%20Log%20#459505");
//result "Transaction Log #459505"
EDIT: Но: Javascript не кодируется так же, как Java Итак, правильный ответ (я надеюсь) заключается в том, чтобы вручную заменить все ваши # на% 23, тогда Java будет декодировать его в обычном режиме или использовать encodeURIComponent, как это предлагается в комментариях. Для вашей потребности решение замены кажется достаточным.
Encode в Javascript:
encodeURI("yourUrl/Transaction Log #459505").replace(/#/,"%23")
//result: yourUrl/Transaction%20Log%20%23459505
декодирование в Java не меняет
java.net.URLDecoder.decode("Transaction%20Log%20#459505")
// result (java.lang.String) Transaction Log #459505
Извините за длинный пост, я не вижу разницы bettween Java и JavaScrip Url кодирования
См. [Этот вопрос] (http://stackoverflow.com/questions/20280212/getting-the-full-url-including-the-query-string-after-hash) –