Каков наилучший способ URL-кодирования строки, представляющей URL-адрес (не параметр запроса) с помощью JSTL?Как закодировать строку, представляющую URL-путь, с помощью JSTL?
<c:url value="/user/${user.name}"/>
Согласно any documentation I find, это должно позаботиться об этом. Но это не так. Он красиво кодирует параметры (<c:url value="/user/${user.name}"><c:param name="section" value="employment 4u so good"/></c:url>
), но я не передаю никаких параметров. Как я могу безопасно кодировать простой URL-адрес, например, выше, не опасаясь того, что может быть ${user.name}
?
Спасибо, Balus C. Это то, что я сейчас делаю. Я надеялся, что что-то построено, но если это лучший способ, пусть так и будет. –
Любопытно, что URLEncoder.encode() на самом деле не является правильным способом кодирования URL-адреса. Это правильный способ кодирования параметра URL *. Он изменяет пробелы на +, например. Правильной методикой является новый URI (null, url, null) .toASCIIString(), который, например, изменяет пробелы на% 20. – EJP
Вопрос в вашей последней ссылке, кажется, был удален и доступен только пользователям 10k +. –